`

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-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-config/mapper.dtd 解决mybatis头文件报错

    解决mybatis头文件报错 下载好压缩包 解压将文件放到本地文件夹 例如 D盘的哪个文件夹 D:\mybatis\ ;然后打开eclipse -&gt;Window-&gt;prefenrence-&gt;XML-&gt;XML Catalog-&gt;User Specifiled Entreis-&gt;Add-&gt;Location(此处是你...

    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