您的位置:首页 > 其它

mybatis插入数据主键自动增长处理

2016-06-06 23:27 253 查看
 1.如果数据库支持自动增长,如mysql和sqlserver,那么可以设置useGeneratedKeys="true",而且设置keyProperty到你已经做好的目标属性上

例如:上面的表中已经对id进行了自动生成的列类型,那么语句可以修改为

<inserrt id="insertauthor" parameterType="domain.....author"

userGeneratedKeys="true" keyProperty="id">

插入语句,与id无关

</insert>

2.若果数据库不支持自动增长,有另一种方法处理数据库不支持自动生成类型

<insert  ................>

<selectKey keyProperty="id" resulttype="int" order="before">

select CAST(RANDOM()*1000 AS INTEGER) a from SYSIBM.SYSDUMMY1

</selectKey>

 insert  into  author

</insert>

以上为通过选择一个随机的整数作为id,来传入参数 ,sql中需要包含id

在以上的示例中,selectKey将会被首先运行,id位置先被设置,然后插入语句会被调用

<selectKey keyProperty="id" resultType="int" order="BEFORE" statementType="PREPARED">

</selectKey>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: