Wrapper是Mybatis-plus中特有的條件封裝接口
也就是把查詢的條件封裝到Wrapper實(shí)現(xiàn)類中
它的各個(gè)實(shí)現(xiàn)類有什么作用呢, 我覺得直接顧名思義吧?
QueryWrapper(刪,查)
@SpringBootTest
public class QueryWrapperTest{
@Autowired
UserMapper userMapper;
QueryWrapper<User> wrapper = new QueryWrapper<>();
// 查
@Test
public void testGet(){
String username = "u";
wrapper.like(username != null, "username", username).eq("id", 1);
// 支持鏈?zhǔn)綏l件
List<User> users = userMapper.selectList(wrapper);
users.forEach(System.out::println);
}
// 刪
@Test
public void testDel(){
String username = "o";
wrapper.like(username != null, "username", username);
userMapper.delete(wrapper);
}
}
因?yàn)閰?shù)一般都從前端傳來的數(shù)據(jù)中得到, 所以必須用條件封裝的第一個(gè)參數(shù)確認(rèn)它不為null
UpdateWrapper(改)
@SpringBootTest
public class UpdateWrapperTest{
@Autowired
UserMapper userMapper;
UpdateWrapper<User> wrapper = new UpdateWrapper<>();
// 改
@Test
public void test(){
wrapper.eq("id", 13);
User user = new User(13, "usebzar", "ziagza", "zaugz", 1);
userMapper.update(user, wrapper);
}
}
LambdaQueryWrapper(刪,查)
LambdaQueryWrapper對比于QueryWrapper不同的是, 第二個(gè)參數(shù)是一個(gè)getter方法, 可以通過類名::方法名獲取, 所以是很推薦使用的方法
@SpringBootTest
public class LambdaQueryWrapperTest{
@Autowired
UserMapper userMapper;
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
// 查
@Test
public void testGet(){
String username = "z";
wrapper.like(username != null, User::getUsername, "z");
// User::getUsername獲取getter方法
List<User> users = userMapper.selectList(wrapper);
users.forEach(System.out::println);
}
}
LambdaUpdateWrapper(改)
應(yīng)該可以從前三者中推斷出它的用法了文章來源:http://www.zghlxwxcb.cn/news/detail-444830.html
Wrapper中的條件字段
文章來源地址http://www.zghlxwxcb.cn/news/detail-444830.html
到了這里,關(guān)于MyBatis-Plus(三.Wrapper條件查詢)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!