有两种方式
1:使用selectKey 标签
<insert id="insert" parameterType="com.founder.fenxi.model.SJWJ">
<selectKey keyProperty="id" resultType="Long" order="BEFORE">
SELECT SEQ_SJWJ.nextval FROM dual
</selectKey>
insert into SJWJ (id,yswjlj) values(#{id},#{yswjlj,jdbcType=VARCHAR})
</insert>
上面是对数据库使用了触发器Sequence的数据库相应的配置,
如果是db2数据库使用identity自增的,可以使用
select IDENTITY_VAL_LOCAL() as id FROM sysibm.sysdummy1
如果是mysql数据库就是用
select last_insert_id() as ID from 要插入的表 limit 1
替换上面selectKey标签里面的内容即可。
2:在insert标签上加属性
<insert id="insert" keyProperty="id" useGeneratedKeys="true"
parameterType="目标类对象">
</insert>
注意 : 要想返回成功,封装的实体类一定要有id的get和set方法!
: