MyBatis-Plus 新增插入成功并获取自增Id
我知道的有三种的方法可以插入新增同时获取到自增Id(插入成功的Id):
mp自带 和 注释 和 xml的方法。
实体类:UserInfo
/**
* (Userinfo)实体类
*
* @author 柠檬味拥抱
* @since 2020-06-05 16:34:58
*/
/**
这个注解是自动生成set/get方法 依赖的代码如下:
<!--自动生成set/get-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
</dependency>
*/
@Data
@ToString
public class Userinfo implements Serializable {
//自增 AUTO:是让数据库自增 有好几种不同大家可以自行百度
@TableId(type= IdType.AUTO)
private Integer id;
private String userName;
private Date createTime;
}
Mapper:UserInfoMapper类:
/**
* (Userinfo)表数据库访问层
*
* @author 柠檬味拥抱
* @since 2020-06-05 16:34:58
*/
public interface UserinfoMapper extends BaseMapper<UserInfo> {
//继承BaseMapper<实体类>
//BaseMapper类的代码有基础CRUD都是在这里处理
//可以在这里写注解@Select @Insert @Update @Delete
//也可以在这里写方法 自己创建xml 与这个mapper类关联
//这里是xml
Integer insertUser (UserInfo userInfo);
com.twoceok.ceshi.insertDemo#test
}
UserInfoMapper.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="自己项目的包名.mapper.UserinfoMapper">
<resultMap type="自己项目的包名.entity.Userinfo" id="UserinfoMap">
<result property="id" column="id" jdbcType="INTEGER"/>
<result property="userName" column="user_name" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
</resultMap>
<insert id="insertUser" parameterType="cn.bear.neckmassager.api.entity.Userinfo" useGeneratedKeys="true" keyProperty="id">
insert into userinfo(user_name,create_time) values (#{userName},#{createTime});
</insert>
</mapper>
然后我们直接测试走mapper,不走service了哦
/**
*@ClassName insertDemo
*@Author 柠檬味拥抱
*@Date 2020/6/5 0005 16:14
*@Version 1.0
*/
@RunWith(SpringRunner.class)
@SpringBootTest(classes = {NeckMessagerApplication.class})// 指定启动类
public class insertDemo {
@Autowired
private UserinfoMapper userinfoMapper;
@Test
public void test(){
Userinfo userInfo = new Userinfo();
userInfo.setUserName("柠檬味拥抱==1");
userInfo.setCreateTime(new Date());
int insert1 = userinfoMapper.insert(userInfo);
System.out.println("mp自带的insert方法:结果:"+insert1+"=====获取Id:"+userInfo.getId());
System.out.println("==================================");
Userinfo userInfo2 = new Userinfo();
userInfo2.setUserName("柠檬味拥抱==2");
userInfo2.setCreateTime(new Date());
int insert2 = userinfoMapper.insertUser(userInfo2);
System.out.println("自己写的xml的方法:结果:"+insert2+"=====获取Id:"+userInfo2.getId());
System.out.println("==================================");
Userinfo userInfo3 = new Userinfo();
userInfo3.setUserName("柠檬味拥抱==3");
userInfo3.setCreateTime(new Date());
int insert3 = userinfoMapper.insertUserInfo(userInfo3);
System.out.println("自己写的注解的方法:结果:"+insert3+"=====获取Id:"+userInfo3.getId());
}
}
数据库:
ok 完成,请多多请教,一起加油哟嘻嘻