这两天学习了一下mybatis plus。简单总结了一下条件构造器使用的查询方式。
官网: MyBatis-Plus
/**
* @param isDel 是否删除
*/
void userUpdate(int isDel) {
//普通查询
QueryWrapper<User> queryWrapper = new QueryWrapper<>();//条件构造器
("isDel", 1); //方式1 直接当做条件
(user -> { //方式2 通过判断后确定使用什么条件
if (isDel != a()) {
("isDel", 1);
} else {
("isDel", 0);
}
});
(user -> { //方式3 直接当做条件
("isDel", 0);
});
if (isDel != a()) ("isDel", 1); //方式4 判断是否使用这个条件
(isDel == a(), "isDel", 1); //方式4 简写
("isDel=" + "1"); // 方法5 直接拼接参数
("isDel={0}", 1); // 方法6 动态拼接防止sql注入
("isDel=" + "1"); // 方法7 无视优化规则直接拼接到 sql 的最后 只能调用一次,多次调用以最后一次为准 有sql注入的风险,请谨慎使用
().eq(User::getIsDel1, 1); // 方法8 获取 LambdaWrapper 使用Lambda方式
List<User> userList = (queryWrapper);
----------------------------------------------------------------------------------------------------------
// Lambda 表达式方式
User user = new User();
user.setIsDel1("1");
LambdaQueryWrapper<User> lambdaUpdateWrapper = new LambdaQueryWrapper<>();
(User::getIsDel1, user.getIsDel1());// Lambda 表达式方式
(User::getIsDel1, 1);// Lambda 表达式方式
userList = (queryWrapper);
----------------------------------------------------------------------------------------------------------
//查询
("id", "name", "sex");
("id", "name as name", "sex");
(i ->
().equals("id")
|| ().equals("name")
|| ().equals("sex"));
----------------------------------------------------------------------------------------------------------
//修改
UpdateWrapper<User> userUpdateWrapper = new UpdateWrapper<>();//条件构造器
("id", "1");//条件
("isDel", "1");//修改1
("isDel=1");//修改2
().eq(User::getIsDel1, 1);//修改3
}