MyBatis-Plus的CRUD操作

通用CRUD

通过Mybatis-Plus与MyBatis、Spring、SpringBoot框架的简单整合的学习,我们了解到通过继承BaseMapper就可以获取到各种各样的单表操作,接下来我们继续深入学习MyBatis-Plus的通用CRUD操作

数据插入
测试用例

这里使用的环境是SpringBoot+MyBatis-Plus中的代码环境
插入一条数据

package com.zg.mp;

import com.zg.mp.mapper.UserMapper;
import com.zg.mp.pojo.User;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest
class TestUserMapper {
   

    @Autowired
    private UserMapper userMapper;

    @Test
    public void testInsert(){
   
        User user = new User();
        user.setName("虾哥");
        user.setAge(22);
        user.setUserName("xiage");
        user.setEmail("1@lllt.com");
        user.setPassword("123123123");
        int result = this.userMapper.insert(user);//result数据库受影响的行数
        System.out.println("result:"+result);

        //获取自增长后的id值
        //在plus插件中,当我们新增数据后,自增长的id会回填到对象中
        System.out.println("id:"+user.getId());
    }
}

测试结果

在这里插入图片描述

自增的id错误

通过上面的实验数据已经写入了数据库,但是Id的值不正确,我们期望的是数据库自增长,实际是MP生成了id的值写入到了数据库
在这里插入图片描述

设置id自增长的策略

设置id自增长的策略@TableId(type = IdType.AUTO)
修改User对象

package com.zg.mp.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("tb_user")
public class User {
   

    @TableId(type = IdType.AUTO)
    private Long id;
    private String userName;
    private String password;
    private String name;
    private Integer age;
    private String email;
}
数据插入成功

在这里插入图片描述

@TableField详解

在MP中通过@TableField注解可以自定字段的一些属性,常常解决2个问题
1、对象中属性名和字段名不一致的问题(非驼峰)
2、对象中的属性字段在表中不存在的问题

package com.zg.mp.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("tb_user")
public class User {
   

    @TableId(type = IdType.AUTO)
    private Long id;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

zgDaren

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

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

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

打赏作者

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

抵扣说明:

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

余额充值