没有合适的资源?快使用搜索试试~ 我知道了~
详解mybatis plus使用insert没有返回主键的处理
5星 · 超过95%的资源 3 下载量 157 浏览量
2020-12-14
06:53:23
上传
评论
收藏 40KB PDF 举报
温馨提示
试读
1页
项目使用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
资源详情
资源评论
资源推荐
详解详解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<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方法遇到的问题及解决方法(添加时id值不存在异常)关于使用Mybatisplus自
带的selectById和insert方法时的一些问题
weixin_38524851
- 粉丝: 6
- 资源: 944
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论10