关于ibatis insert 返回值为 null的研究----得到插入数据的逐渐值
2009-04-30 21:52
489 查看
最近发现,使用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类型。
通过以上及步骤,就可以放回插入数据的主键值了。
首先:
将原来的insert语句加上<selectKey>标签,如:
<insert id="insertUserByName"> insert into user_account (username,groupname,passsword) Values(#name#,#group#,#pwd#) <selectKey resultClass="int" keyProperty="id" > SELECT @@IDENTITY AS id </selectKey> </insert>
其中<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类型。
通过以上及步骤,就可以放回插入数据的主键值了。
相关文章推荐
- mybatis insert 插入数据成功后返回值为 null
- [ibatis]关于Ibatis insert后返回值为null的解决办法(转)
- mysql5.7基础 insert 表中含有自动增长的字段,插入数据时用NULL
- mybatis insert 插入数据成功后返回值为 null
- mybatis3.2.3向数据库sql server 2005插入数据(insert)时返回主键值为空(null)或者1,
- C++ map插入(insert)数据返回值
- 关于SQL插入数据出现当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'XXXX' 中的标识列插入XXX
- Ibatis insert插入返回值
- 关于java中向数据库中插入数据时,报错Caused by: java.lang.NullPointerException的问题
- 黑马程序员-关于插入一条数据,马上得到该数据ID
- ibatis中使用insert后,返回值为null的解决方案
- 如何在 iBatis 应用程序向 Oralce 数据表字段插入 NULL 值
- 如何在 iBatis 应用程序向 Oralce 数据表字段插入 NULL 值
- 关于含有标识字段的数据表中记录的插入问题解决(IDENTITY_INSERT)
- 关于 mongodb 里 插入数据的命令 save() 和 insert() 的区别
- 不使用框架的情况下 如何得到刚插入的数据(ID自增)
- Ibatis 关于空值(NULL)的解决方案
- 两种方法得到上次插入数据的ID
- (笔记)Mysql命令insert into:向表中插入数据(记录)
- 向SQL Server2005里导入数据是出现错误“SQL 错误描述为: 链接服务器 '(null)' 的 OLE DB 访问接口'STREAM' 返回了对列 '[!BulkInsert].field' 无效的数据”