最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
mybatis plus使用insert没有返回主键的处理方法
时间:2022-06-29 07:43:41 编辑:袖梨 来源:一聚教程网
本篇文章小编给大家分享一下mybatis plus使用insert没有返回主键的处理方法,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
项目使用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 @Mapper public interface UserInfoDao extends BaseMapper{ // 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文件,果然看到
相关文章
- 崩坏星穹铁道3.7风堇复刻抽取建议 11-05
- 崩坏星穹铁道3.7遐蝶复刻抽取建议 11-05
- 崩坏星穹铁道3.7奇库寻遗活动玩法介绍 11-05
- 神迹觉醒神猴怎么样 11-05
- 火影忍者手游仙人巳月有什么技能 11-05
- 三国群英传策定九州糜竺角色如何 11-05