详解mybatis plus使用insert没有返回主键的处理
项目使用springboot搭建。最初的时候是使用mybatis,后来升级到mybatisplus。按照mp的官网介绍,使用mp的insert方法,对于自增的数据库表,mp会把主键写入回实例的对应属性。但实际操作起来,却没有主键。
entity类设置如下:
@TableName(value="USERINFO") publicclassUserInfo{ /** *指定自增策略 */ @TableId(value="user_id",type=IdType.AUTO) privateLonguserId; privateStringgender; privateDatebirthday; privateStringphone; //省略后面的其他属性和getter/setter }
dao类设置如下:
@Repository @Mapper publicinterfaceUserInfoDaoextendsBaseMapper{ //intinsert(UserInforecord); intinsertSelective(UserInforecord); UserInfoselectByPrimaryKey(LonglogId); intupdateByPrimaryKeySelective(UserInforecord); }
Service类调用userInfoDao的insert方法(此方法是来源于BaseMapper)。但是insert成功后没有返回主键userId。上网查了下,其他人都是这样设置,就会有主键返回。
看到dao类里面一条注释,//intinsert(UserInforecord);,心里有个想法。
这条注释对应的insert方法,是使用mybatisgenerator生成的。但是因为此方法名和mybatisplus的通用方法名一样,所以我把它注释了。会不会是因为dao对应的mapper.xml文件,里面的id=inesert的sql语句依然存在,从而覆盖掉了mybatisplus的通用insert,所以没有自动返回主键。
点进去对应mapper.xml文件,果然看到
到此这篇关于详解mybatisplus使用insert没有返回主键的处理的文章就介绍到这了,更多相关mybatisplusinsert没有主键内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。