您的位置:首页 > 其它

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

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

首先:

将原来的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类型。

通过以上及步骤,就可以放回插入数据的主键值了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐