香港云主机最佳企业级服务商!

ADSL拨号VPS包含了中国大陆(联通,移动,电信,)

中国香港,国外拨号VPS。

当前位置:云主机 > mssql2008 >

电信ADSL拨号VPS
联通ADSL拨号VPS
移动ADSL拨号VPS

详解mybatis plus使用insert没有返回主键的处理


时间:2020-11-10 14:03 作者:admin


项目使用springboot搭建。最初的时候是使用mybatis,后来升级到mybatis plus。按照mp的官网介绍,使用mp的insert方法,对于自增的数据库表,mp会把主键写入回实例的对应属性。但实际操作起来,却没有主键。

entity 类设置如下:

@TableName(value = "USERINFO")public class UserInfo {  /**   * 指定自增策略  */  @TableId(value = "user_id",type = IdType.AUTO)  private Long userId;  private String gender;  private Date birthday;  private String phone;//省略后面的其他属性和getter/setter}

dao 类设置如下:

@Repository@Mapperpublic interface UserInfoDao extends BaseMapper<UserInfo> {  //  int insert(UserInfo record);  int insertSelective(UserInfo record);  UserInfo selectByPrimaryKey(Long logId);  int updateByPrimaryKeySelective(UserInfo record);}

Service类调用userInfoDao的insert方法(此方法是来源于BaseMapper)。但是insert成功后没有返回主键userId。上网查了下,其他人都是这样设置,就会有主键返回。

看到dao类里面一条注释,// int insert(UserInfo record); ,心里有个想法。

这条注释对应的insert方法,是使用mybatis generator生成的。但是因为此方法名和mybatis plus的通用方法名一样,所以我把它注释了。会不会是因为dao对应的mapper.xml文件,里面的id = inesert的sql语句依然存在,从而覆盖掉了mybatis plus的通用insert,所以没有自动返回主键。

点进去对应mapper.xml文件,果然看到<insert id="insert">的sql语句。删掉该语句,重试mybatis plus的insert方法,这次有主键返回了。

到此这篇关于详解mybatis plus使用insert没有返回主键的处理的文章就介绍到这了,更多相关mybatis plus insert没有主键内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

(责任编辑:admin)






帮助中心
会员注册
找回密码
新闻中心
快捷通道
域名登录面板
虚机登录面板
云主机登录面板
关于我们
关于我们
联系我们
联系方式

售前咨询:17830004266(重庆移动)

企业QQ:383546523

《中华人民共和国工业和信息化部》 编号:ICP备00012341号

Copyright © 2002 -2018 香港云主机 版权所有
声明:香港云主机品牌标志、品牌吉祥物均已注册商标,版权所有,窃用必究

云官方微信

在线客服

  • 企业QQ: 点击这里给我发消息
  • 技术支持:383546523

  • 公司总台电话:17830004266(重庆移动)
  • 售前咨询热线:17830004266(重庆移动)