Mybatis 自动生成代码工具 如何设置insert返回主键?

1, 我知道手动如何设置返回主键策略; 但是项目的代码是使用了mybatis代码生成工具,这个工具没有设置insert自动返回主键; 我在网上找了下,看到一个解决方案 如下

http://blog.csdn.net/z6918378...

2, 我的测试环境:
Mysql, Spring mybatis

(1)mybatis 自动生成工具的配置文件:

    <!-- 指定数据库表 -->
    <table schema="" tableName="tb[链接描述][1]_order">

        <generatedKey column="order_id" sqlStatement="MySql" identity="true" />
    </table>

(2)自动生成的mapper中的insert代码
<insert id="insert" parameterType="com.admin.bean.entity.TbOrder" >

<selectKey resultType="java.lang.Integer" keyProperty="orderId" order="AFTER" >
  SELECT LAST_INSERT_ID()
</selectKey>
insert into 

</insert>

上面的insert 是工具自动生成的, 实际测试发现并没有返回主键;

3, 如果使用 selectkey的方式返回主键,应该是:
<selectKey resultType="java.lang.Integer" keyProperty="orderId" order="Before" >

  SELECT LAST_INSERT_ID()
</selectKey>
阅读 2.8k
1 个回答

我觉得没错啊 我生成的也是这样
<selectKey resultType="java.lang.Integer" keyProperty="id" order="AFTER" >

配置
<generatedKey column="id" sqlStatement="SELECT LAST_INSERT_ID()" identity="true"/>

你建表的时候 主键有自增长吗

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题