mybatis-插入数据到sqlserver2017,获取返回主键问题

1:问题现象与描述

当前是同时使用多个数据库,当在sqlserver数据库中插入数据时没有主键返回。因为使用的时mybatis Generator自动生成的mapper/model/xml,由于在mysql中插入数据返回主键id可以直接通过插入对象**.getId()**即可获取。但是在sqlserver插入完数据并没有。一时间没有弄清楚原因。

网上答案大多数是:**useGeneratedKeys=“true” keyProperty=“id”**来获取。

但是在访问sqlserver的xml文件的insert方法中好像 没有作用。通过输出插入对象信息时:id的结果为null
mybatis-插入数据到sqlserver2017,获取返回主键问题_第1张图片

2:解决方式

注释掉selectKey标签即可生效,在通过mybatis generator 生成代码的时候表主键在xml文件中插入方法内会自动加入selectKey的查询键标签来返回插入数据后的ID主键返回,但是在sqlserver中好像不起作用。注释后加入**useGeneratedKeys=“true” keyProperty=“id”**即可生效
mybatis-插入数据到sqlserver2017,获取返回主键问题_第2张图片

你可能感兴趣的:(框架-mybatis)