猿问

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>
函数式编程
浏览 499回答 1
1回答

哆啦的时光机

我觉得没错啊 我生成的也是这样 <selectKey resultType="java.lang.Integer" keyProperty="id" order="AFTER" > 配置<generatedKey column="id" sqlStatement="SELECT LAST_INSERT_ID()" identity="true"/> 你建表的时候 主键有自增长吗
随时随地看视频慕课网APP

相关分类

Java
我要回答