我想用ibatis3获得刚插入数据的ID,我数据库用的是mysql,id设置成的自增,相关代码如下:
<insert id="save" parameterType="User" useGeneratedKeys="true" keyProperty="id">
insert into t_user(account, name, password)
values(#{account},#{username},#{password})
<selectKey keyProperty="id" order="AFTER" resultType="Integer">
select LAST_INSERT_ID()
</selectKey>
</insert>
为什么返回值总是1?要怎样写才能获得刚插入那条数据的id?各位大侠帮帮忙....
------解决方案--------------------
- SQL code
<insert id="create" parameterClass="paper"> <![CDATA[ insert into t_test_paper(plan_id,user_id,status,use_yn,chg_user_id,chg_dt) values(#plan_id#,#user_id#,#status#,#use_yn#,#chg_user_id#,now()) ]]> <selectKey keyProperty="id" resultClass="int"> <![CDATA[ SELECT LAST_INSERT_ID() as id ]]> </selectKey> </insert>
------解决方案--------------------
没用过ibaits
帮顶了
祝你好运
------解决方案--------------------
今天刚好测试了select LAST_INSERT_ID(),感觉不太对劲,但是网上都是用的这个,哎
------解决方案--------------------
Mysql id不是可以自动生成啊, 你不用往里插id不就可以了?
------解决方案--------------------
刚开始接触ibatis,顶起..
------解决方案--------------------
楼主还有用其他的框架么,执行这个时必需要求两个使用同一个CONNECTION,如果不是比如说第二条是一个新的CONNECTION自然结果是1了