mybatis 自增主键配置



mybatis 自增主键配置

mybatis进行插入操作时,如果表的主键是自增的,针对不同的数据库相应的操作也不同。基本上经常会遇到的就是 Oracle Sequece 和 Mysql 自增主键,至于其他的手动生成唯一主键的问题在这里就不讨论了,这里主要说明下在mybatis中对于自增主键的配置。

返回自增主键值
Oracle Sequence 配置

</pre> <selectKey resultType=”java.lang.Long” keyProperty=”productId” order=”BEFORE”> <span style=”white-space:pre”> </span>select SEQ_SPOT_PRODUCT.nextVal as PRODUCT_ID <span style=”white-space:pre”> </span>from dual <span style=”white-space:pre”> </span></selectKey> </li><li><p>Mysql自增主键配置</p><p>由于mysql数据库中,可以设置表的主键为自增,所以对于Mysql数据库在mybatis配置插入语句时,不指定插入ID字段即可。主键的自增交由Mysql来管理。</p><pre code_snippet_id=”525232″ snippet_file_name=”blog_20141119_3_8554346″ class=”prettyprint linenums prettyprinted” name=”code” style=”white-space: pre-wrap; word-wrap: break-word;”>
<insert id=”insert” parameterType=”com.ecomm.po.cms.Card” useGeneratedKeys=”true” keyProperty=”id”>
调用insert方法的需要传入对象,直接对象.getId() 就获取到了刚插入记录的主键