Mybatis-plus笔记

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


基本用法

以下是一些常见的MyBatis-Plus的Mapper方法:

通用查询方法:

selectById: 根据ID查询记录
selectBatchIds: 根据ID集合批量查询记录
selectByMap: 根据条件查询一条记录
selectOne: 根据条件查询一条记录,如果结果集多于一条,抛出异常
selectCount: 根据条件查询记录总数
selectList: 根据条件查询记录列表
通用插入方法:

insert: 插入一条记录
insertBatchSomeColumn: 插入批量记录,对null值的字段不做处理
insertBatch: 插入批量记录
insertOrUpdate: 插入或更新记录
insertOrUpdateBatch: 插入或更新批量记录
通用更新方法:

updateById: 根据ID更新记录
update: 根据条件更新记录
通用删除方法:

deleteById: 根据ID删除记录
deleteBatchIds: 根据ID集合批量删除记录
deleteByMap: 根据条件删除记录
delete: 根据条件删除记录
其他方法:

selectMaps: 查询结果转换为Map
selectPage: 分页查询
selectMapsPage: 分页查询,结果转换为Map
这些方法提供了通用的数据库操作,可以方便地进行增、删、改、查等操作。在具体使用时,可以根据业务需求选择合适的方法。同时,MyBatis-Plus还支持自定义SQL和条件构造器等高级功能,使得开发更加灵活和高效。

QueryWrapper

基本用法

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("column_name", value); // 等于
queryWrapper.ne("column_name", value); // 不等于
queryWrapper.gt("column_name", value); // 大于
queryWrapper.ge("column_name", value); // 大于等于
queryWrapper.lt("column_name", value); // 小于
queryWrapper.le("column_name", value); // 小于等于

queryWrapper.like("column_name", "value"); // 模糊查询
queryWrapper.likeLeft("column_name", "value"); // 左模糊查询
queryWrapper.likeRight("column_name", "value"); // 右模糊查询

queryWrapper.in("column_name", values); // IN条件

queryWrapper.isNull("column_name"); // IS NULL条件
queryWrapper.isNotNull("column_name"); // IS NOT NULL条件

queryWrapper.orderByAsc("column1", "column2"); // 升序排序
queryWrapper.orderByDesc("column1", "column2"); // 降序排序

// 嵌套条件
queryWrapper.nested(i -> i.eq("column1", value).or().eq("column2", value));

//自定义SQL片段
queryWrapper.apply("date_format(create_time,'%Y-%m-%d') = {0}", "2021-01-01");

//分组
queryWrapper.groupBy("column1", "column2");

使用LambdaQueryWrapper

@Override
    public PayInfoRespDTO getPayInfoByPaySn(String paySn) {
        LambdaQueryWrapper<PayDO> queryWrapper = Wrappers.lambdaQuery(PayDO.class)
                .eq(PayDO::getPaySn, paySn);
        PayDO payDO = payMapper.selectOne(queryWrapper);
        return BeanUtil.convert(payDO, PayInfoRespDTO.class);
    }

多表查询

userQueryWrapper.join("order", "user.id = order.user_id")
              .select("user.id", "user.username", "order.order_no")
              .eq("user.age", 25)
              .like("order.order_no", "2023");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值