mybatisplus中常用方法

#测试环境

springboot2.x+mybatisplus3.x
mybatisplus3.x版本和2.x版本有一些区别不同。
测试实体类:User

#导入maven依赖

<dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.1.0</version>
</dependency>

#创建User实体类

@Data
@TableName(value = "user")
public class User  extends Model<User> implements Serializable {
    @TableId(value = "id",type = IdType.AUTO)
    private Integer id;
    private String nickname;
    private String email;
    private String password;
    private String icon;
    private Integer role;
    private String userName;
    private Integer age;
    private Integer sex;
}

解析:
@Data:生成Get Set方法
@TableName(value = “user”) :对应数据库中的表名称
@TableId(value = “id”,type = IdType.AUTO) :使用的是数据库默认的自增策略,如果不配置,则默认使用mybatisplus中的自增策略(mybatis自增策略是Long属性,而且生成的主键很长)
Model implements Serializable :序列化

#创建UserMapper接口

@Mapper
@Component("UserMapper")
public interface UserMapper extends BaseMapper<User> {
}

@Component(“UserMapper”) :解决idea中自动导入爆红的错误
extends BaseMapper :继承接口即可实现基本的CRUD方法

#根据ID主键查询

    @Autowired
    UserMapper userMapper;
    @Test
    void contextLoads() {
        Integer id=1;
        User user = userMapper.selectById(id);
    }

#条件查询

//创建条件构造器
QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
        userQueryWrapper.eq("nickname","sunshine");
        Useruser= UserMapper.selectOne(userQueryWrapper );

messageQueryWrapper.eq(“nickname”,“sunshine”);
selectOne()查询为一个,如果查询有多个符合条件会报错
其中,第一个参数为数据库中的字段名称,记住,是数据库中的字段
第二个参数为要查询的内容

sql语句中有的条件mybatisplus都有,具体可以查看官方文档https://mp.baomidou.com/这网址很容易就JJ

在这里插入图片描述

#查询全部

List<User> userList= userMapper.selectList(null);

查询全部就是不给条件,让条件为null

#条件查询多个

 QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
        // 查询角色为管理员
        messageQueryWrapper.eq("role",0);
        // 性别为女
        messageQueryWrapper.eq("sex",0);
        List<User> userList= userQueryWrapper .selectList(userQueryWrapper );

这个例子就是查询所有用户为管理员并且性别为女的用户

也可以写为
 QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
      messageQueryWrapper.eq("role",0).eq("sex",0);
       List<User> userList= userQueryWrapper .selectList(userQueryWrapper );

#添加数据

int insert = userMapper.insert(User)

其中User为实体类
返回值为数据库中修改的行数,这里添加成功返回时 “1”
多数据添加看一下官方文档,这里就不说了

#更新数据

int update = userMapper.updateById(user);

updateById()是根据user主键来更新的,如果user类中其它不需要更新的字段可以置为null,mybatisplus不会更新未设置值的字段

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值