关于ibatis insert 返回值为 null的研究----得到插入数据的逐渐值

本文介绍如何使用ibatis的sqlMap.insert方法返回最新插入记录的ID。通过在insert语句中加入<selectKey>标签,并设置正确的keyProperty和resultClass属性,即可实现返回插入数据的主键值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近发现,使用ibatis的sqlMap.insert()方法时,不管怎么样,返回的结果总是null。那么如何让其返回最新插入的那条记入的id呢?

 

  首先:
  将原来的insert语句加上<selectKey>标签,如:


    

其中<selectKey>中的keyProperty="id" 为相应表的主键名。保证该属性的类型和javabean中
相应属性类型一致。
也就是说比如你映射account表的javabean为User类,
该类的一个属性id代表数据库相应主键USERID,若id为int类型,那么<selectKey>中
的resultClass="int" ,接着将sqlMap.insert返回的object转换为int类型。


但若该属性id为String,则<selectKey>中的resultClass="String",接着将sqlMap.insert返回的object转换为String类型。

通过以上及步骤,就可以放回插入数据的主键值了。

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.ruoyi.community.mapper.HealthMapper.selectList 是一个MyBatis的绑定异常。这个异常通常出现在在MyBatis的mapper接口与对应的mapper配置文件之间存在映射绑定问题时。其中,com.ruoyi.community.mapper.HealthMapper.selectList是一个无效的绑定语句,可能有以下几种原因导致异常的发生: 1. mapper接口与mapper配置文件之间的命名不一致,导致无法正确找到对应的SQL语句。请检查HealthMapper接口中的方法名是否与mapper配置文件中的selectList语句的id一致。 2. mapper配置文件中没有正确配置对应的selectList语句。请确保mapper配置文件中存在id为selectList的select语句,并且该语句正确地映射到了数据库表中的列。 3. mapper接口的返回类型与mapper配置文件中的结果映射没有正确配置。如果HealthMapper的方法返回值是List<User>,则需要在selectList语句的配置中正确配置ResultMap或ResultType,以使MyBatis能够将查询结果正确地映射到User对象的属性上。 请检查以上几个方面,确保mapper接口与mapper配置文件之间的映射绑定正确无误,以解决该异常。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): 解决方法](https://blog.csdn.net/P081130110/article/details/106695947)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)原因总结](https://blog.csdn.net/m0_66173671/article/details/122337771)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值