mybatis plus 链式编程查询

mybatis plus 链式编程查询

通过构造QueryWrapper构造查询语句
HashMap<String, Object> stringObjectHashMap = new HashMap<>();
stringObjectHashMap.put("id", 123);
stringObjectHashMap.put("name", "jack");

//通过构造条件
QueryWrapper QueryWrapper = new QueryWrapper<User>();
QueryWrapper.allEq(stringObjectHashMap);
//获取一个list
List<User> list = userService.list(QueryWrapper);
List<Map<String, Object>> listMaps = userService.listMaps(QueryWrapper);
//获取一个map或者一个实体类
Map map = userService.getMap(QueryWrapper);
User one = userService.getOne(QueryWrapper);


通过QueryChainWrapper链式编程的方式构建查询语句
HashMap<String, Object> stringObjectHashMap = new HashMap<>();
stringObjectHashMap.put("id", 123);
stringObjectHashMap.put("name", "jack");

//链式编程
List<User> userList = userService.query()
	.allEq(stringObjectHashMap)
	.list();

//连续多个查询条件
List<User> userList1 = userService.query()
	.allEq(stringObjectHashMap)
	.orderByAsc("id")
	.list();
通过UpdateWrapper构造跟新条件
//跟新
UpdateWrapper<User> objectUpdateWrapper = new UpdateWrapper<>();
objectUpdateWrapper.eq("id",1);
boolean update = userService.update(new User(), objectUpdateWrapper);
通过UpdateChainWrapper构造条件链
userService.update().eq("id",1).update();
### MyBatis Plus 查询使用方法 MyBatis-Plus (MP) 是 MyBatis 的增强工具,在 MyBatis 基础上只做功能增强而不做改变,旨在简化开发并提高效率[^2]。 #### 实体类定义 为了实现查询操作,首先需要定义实体类。假设有一个 `User` 表对应的实体类如下: ```java import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @TableName("user") public class User { @TableId private Long id; private String name; private Integer age; // Getters and Setters... } ``` #### Mapper 接口编写 接着创建相应的Mapper接口继承自 `BaseMapper<T>` 类型参数为之前定义好的实体对象即可完成基本 CRUD 功能的注入: ```java import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; @Mapper public interface UserMapper extends BaseMapper<User> {} ``` #### 执行简单查询 通过调用 `selectList()` 方法可以执行简单的全表扫描查询语句获取所有记录列表;如果想要带条件过滤,则可以通过构建 Wrapper 条件构造器来指定查询条件. ```java // 获取全部用户数据 List<User> userList = userMapper.selectList(null); // 构建查询条件, 并根据年龄大于等于18岁进行筛选 QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.ge("age", 18); List<User> adultUsers = userMapper.selectList(queryWrapper); ``` 对于更复杂的业务逻辑需求还可以利用链式编程风格快速拼接 SQL 片段达到灵活控制的目的。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值