MyBatis-Plus 新增插入成功并获取自增Id(没问题 已实验哟)

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 完成,请多多请教,一起加油哟嘻嘻

  • 11
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 14
    评论
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柠檬味拥抱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值