QueryWrapper in分片
时间: 2023-10-14 15:27:08 浏览: 67
QueryWrapper 是 MyBatis-Plus 中的一个查询条件构造器,它提供了很多方便的方法来拼接 SQL 查询条件。在分片环境下,我们可以使用 QueryWrapper.in 方法来实现对分片键的 IN 查询。例如:
```java
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.in("sharding_key", "value1", "value2", "value3");
List<User> userList = userMapper.selectList(wrapper);
```
其中,"sharding_key" 是分片键的列名,"value1", "value2", "value3" 是分片键的取值。当分片键为多列时,可以使用 wrapper.inSql 方法来实现 IN 查询。例如:
```java
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.inSql("sharding_key1, sharding_key2", "SELECT sharding_key1, sharding_key2 FROM table WHERE ...");
List<User> userList = userMapper.selectList(wrapper);
```
其中,"sharding_key1, sharding_key2" 是分片键的列名,"SELECT sharding_key1, sharding_key2 FROM table WHERE ..." 是一个查询语句,用于获取分片键的取值。
阅读全文