MybatisINSERT插入数据不返回主键

一头菜猪猪 发布于 2018/04/13 19:36
阅读 2K+
收藏 0

前几天有做到一个功能,就是插入数据后返回主键ID,在获取ID后插入数据到另一张表,也就是需要数据库给我返回主键ID。我的配置如下的,

<insert id="addOrderToAudit" parameterType="com.ak1ak1.pojo.systemConfig.Order" useGeneratedKeys="true" keyProperty="orderID" keyColumn="orderID">
 		
 		INSERT INTO AK_Order
            <!-- 这是sql片段 -->
 			(<include refid="orderKey"/>) 
        values
            <!-- 这是sql片段 -->
        	(<include refid="orderValue"/>)
        <!-- <selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="orderID" keyColumn="orderID">
        	SELECT LAST_INSERT_ID() AS orderID
        </selectKey> -->
 	</insert>

然后上面注解里有一个selectKey标签的方法,这个也用过了,也是不行的,实体类属性名和数据库是对应的,一样的名称,我前几天用过直接给insert标签加三个属性的那个方法:

useGeneratedKeys="true" keyProperty="orderID" keyColumn="orderID"

就是上面这个,然后我今天测试居然不行了。

加载中
0
impins
impins
有没有用到批量插入,批量插入在事务提交前是获取不到数据库生成的主键的。
一头菜猪猪
一头菜猪猪
没有的,不过最近我是把dubbo的广播方式改为了直连,和这个有关系吗?
0
石头捡到布
石头捡到布

查看实体类id属性是否有get set方法,属性名和mybatis 里面的keyProperty是否一致,insert之后,直接使用实体类.getId()获取,而不是insert方法的返回值!

一头菜猪猪
一头菜猪猪
属性名称是一样的并且提供了getset方法,还有就是最近我是把dubbo的广播方式改为了直连,和这个有关系吗?
0
Leon_wy
Leon_wy

仔细排查

一头菜猪猪
一头菜猪猪
谢谢,不过感觉实在不知道错哪里了
返回顶部
顶部