`

MyBatis异常Parameter 'title' not found

阅读更多

异常内容如下:

Cause: org.apache.ibatis.binding.BindingException: Parameter 'title' not found. Available parameters are [1, 0, param1, param2]
	at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:150)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:137)
	at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:46)
	at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:43)
	at $Proxy0.insert2(Unknown Source)
	at demo.Demo1.main(Demo1.java:75)
Caused by: org.apache.ibatis.binding.BindingException: Parameter 'title' not found. Available parameters are [1, 0, param1, param2]
	at org.apache.ibatis.binding.MapperMethod$ParamMap.get(MapperMethod.java:160)
	at org.apache.ibatis.reflection.wrapper.MapWrapper.get(MapWrapper.java:41)
	at org.apache.ibatis.reflection.MetaObject.getValue(MetaObject.java:113)
	at org.apache.ibatis.scripting.defaults.DefaultParameterHandler.setParameters(DefaultParameterHandler.java:73)
	at org.apache.ibatis.executor.statement.PreparedStatementHandler.parameterize(PreparedStatementHandler.java:77)
	at org.apache.ibatis.executor.statement.RoutingStatementHandler.parameterize(RoutingStatementHandler.java:58)
	at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:71)
	at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:44)
	at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:100)
	at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:75)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:148)
	... 5 more

 

 

 

其实,我在刚开始做第一个demo的时候没有发现,做的是查询。可是,在我做插入和更新的时候就有问题了。弄了好久也米有弄明白,最终,在j8中看到一个人问问题,加了qq,请教了,才可以呢。言归正传,开始解决问题:

先把配置文件和Mapper类贴出来:

Mapper.xml文件:

<insert id="insert1" parameterType="model.Blog" useGeneratedKeys="true" keyProperty="id">
	insert into Blog (title, content) values (#{title}, #{content})
</insert>

 Mapper类:

int insert2(String title, String content);

 

 

这么一看,参数不错啊。对,就是这个让我一直没有想到解决的办法。最后,那位仁兄一指点,如果醍醐灌顶般。我的parameterType="model.Blog",而我的方法中的参数却是 insert2(String title, String content);所以就出现了这个问题。解决的办法就是在Mapper中这样定义:int insert1(Blog blog);可以了。

 

 

另外,在做insert,update,delete操作的时候必须手动提交事务:session.commit();因为这些时候会开启事务,而Mybatis默认是不自动提交的,所以,得手动提交。在做查询的时候,数据库是不会开启事务的,所以不需要提交

 

 下面是我建的一个公众帐号,可以关注一下哦,谢谢

 

4
3
分享到:
评论
7 楼 di1984HIT 2016-01-29  
学习了~~~
6 楼 cjy20 2015-04-07  
感谢楼主,终于解决了我的问题了,身为菜鸟的我看完此文
5 楼 wtslh 2015-02-28  
抛出异常的爱 写道
List<User> queryUserByType(
@Param(value = "userType")String type,
@Param(value = "startRow")int startRow,
@Param(value = "endRow")int endRow);

这个太好了,解决了
4 楼 wtslh 2015-02-28  
抛出异常的爱 写道
List<User> queryUserByType(
@Param(value = "userType")String type,
@Param(value = "startRow")int startRow,
@Param(value = "endRow")int endRow);

这个太好了,解决了。
3 楼 抛出异常的爱 2013-03-13  
int insert2(@Param(value = "title")String title,@Param(value = "content") String content); 
2 楼 商人shang 2013-03-11  
抛出异常的爱 写道
List<User> queryUserByType(
@Param(value = "userType")String type,
@Param(value = "startRow")int startRow,
@Param(value = "endRow")int endRow);

什么意思呢?
1 楼 抛出异常的爱 2013-03-11  
List<User> queryUserByType(
@Param(value = "userType")String type,
@Param(value = "startRow")int startRow,
@Param(value = "endRow")int endRow);

相关推荐

    spingmvc+mybatis+统一异常处理机制

    采用springmvc+mybatis,搭建部分大致跟网上其他资料差不多,唯一不同的加入了统一错误处理,为了方便开发人员开发,所有错误码用一张表存在数据库中,然后由应用将整表缓存,缓存采用的spring自带的cache,开发中...

    mybatis批量添加

    mybatis批量添加的时候报错总结报错 parameter'_frch_item_0 not found

    MyBatis异常-Property 'configLocation' not specified, using default MyBatis Configuration

    在使用MyBatis框架时,可能会遇到一个特定的异常:“Property 'configLocation' not specified, using default MyBatis Configuration”。这个异常通常表明MyBatis在启动时无法找到配置文件的位置,因此它会使用默认...

    mybatis 报空值异常

    除了上述情况外,还可能出现其他类型的错误,如 `MappedStatements collection does not contain value for...` 这类异常,通常是由以下几个原因导致的: 1. **Mapper XML 中缺少命名空间** 确保 mapper 文件中...

    使用mybatis-plus报错Invalid bound statement (not found)错误

    在使用Mybatis-Plus时,有时开发者可能会遇到一个常见的错误——`Invalid bound statement (not found)`。这个错误意味着Mybatis-Plus无法找到对应的SQL映射语句,这通常是由于配置问题或者依赖缺失所引起的。本文将...

    mybatis中foreach报错:_frch_item_0 not found的解决方法

    然而,当你遇到“_frch_item_0 not found”这样的错误时,通常是由于在使用`&lt;foreach&gt;`时出现了配置或编码上的问题。下面我们将深入探讨这个问题及其解决方法。 首先,我们要理解这个错误通常表示MyBatis在尝试访问...

    MyBatis绑定错误提示BindingException:Invalid bound statement (not found)的解决方法

    在使用MyBatis框架进行开发时,可能会遇到一个常见的错误:`BindingException: Invalid bound statement (not found)`。这个错误通常意味着MyBatis无法找到你在Mapper接口中声明的方法与XML映射文件中对应的SQL语句...

    MyBatis-3.61.zip

    Introduce custom 'Mybatis Parameter' language to support Mybatis parameter expression. Generate Mapper XML, SQL statement, statement declaration on the fly. Integrate with DataSource in IDEA. Many ...

    mybatis 日志 sql参数替换工具

    非常好用的,就是你们所要的 Mybatis日志参数快速替换占位符 sql参数替换工具html

    mybatis-plus分页查询 学习mybatis-plus在项目中的简单使用,代码生成器,分页查询,多数据源等

    MyBatis-Plus是一个强大的MyBatis扩展工具,它在MyBatis的基础上简化了许多操作,提供了包括但不限于自动装填实体类、代码生成器、分页查询等功能,使得开发者能够更高效地进行Java开发。本篇将详细介绍MyBatis-Plus...

    IDEA的mybatis插件

    《IDEA的Mybatis插件详解与应用》 在现代软件开发中,集成开发环境(IDE)扮演着至关重要的角色,而IntelliJ IDEA(简称IDEA)作为Java开发的主流IDE之一,提供了丰富的功能和扩展插件,极大地提升了开发效率。其中...

    mybatis demo mybatis 实例

    MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs...

    mybatis-3-mybatis-3.2.6

    7. **ParameterHandler**:处理SQL参数,将Java对象转化为JDBC能识别的参数,通常使用ParameterMap和ParameterObject实现。 8. **ResultSetHandler**:处理SQL查询返回的结果集,将JDBC的ResultSet转化为Java对象。...

    mybatis-3.2.5.jar及mybatis-spring-1.2.2.jar

    MyBatis-Spring 会帮助你... 而且它也会处理事务, 翻译 MyBatis 的异常到 Spring 的 DataAccessException 异常(数据访问异常,译者注)中。最终,它并 不会依赖于 MyBatis,Spring 或 MyBatis-Spring 来构建应用程序代码。

    mybatis启动无线循环的抛出异常类

    mybatis启动无线循环的抛出异常类,只要用这个继承,就可以抛出异常

    springmybatis

    `id` int(11) NOT NULL AUTO_INCREMENT, `userName` varchar(50) DEFAULT NULL, `userAge` int(11) DEFAULT NULL, `userAddress` varchar(200) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_...

    mybatis-generator-core-1.3.2

    Mybatis Generator Core 1.3.2 是一个强大的自动化代码生成工具,主要用于简化开发过程,尤其是在使用Mybatis作为持久层框架时。它能够自动生成Java实体类、Mapper接口及XML映射文件,大大减少了手动编写这些重复...

    mybatis入门案例 mybatis入门案例

    mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例...

    mybatis-3.1.1-bundle

    MyBatis ORM框架 ... 而且它也会处理事务, 翻译 MyBatis 的异常到 Spring 的 DataAccessException 异常(数据访问异常,译者注)中。最终,它并 不会依赖于 MyBatis,Spring 或 MyBatis-Spring 来构建应用程序代码。

    fluent-mybatis, mybatis语法增强框架

    由于代码生成是在编译阶段完成的,因此能够确保 SQL 语句与实体类型匹配,减少因类型转换错误导致的运行时异常。 10. **社区支持**: `fluent-mybatis` 作为一个活跃的开源项目,有着丰富的文档和社区支持,遇到...

Global site tag (gtag.js) - Google Analytics