1、LambdaQueryWrapper与QueryWrapper区别
以下list1的结果与list2的结果一样
public void select() {
int a=1;
List<ScoretypeBean> list1 = list(new LambdaQueryWrapper<ScoretypeBean>()
.eq(ScoretypeBean::getStypeName,"asd")
.eq(a>=1,ScoretypeBean::getStypeType,"2")
);
List<ScoretypeBean> list2 = list(new QueryWrapper<ScoretypeBean>()
.eq("stype_name","asd")
.eq(a>=1,"stype_type","2")
);
}
答:LambdaQueryWrapper用 实体类::get属性 的方法匹配数据库字段与QueryWrapper直接用数据库字段匹配不同,LambdaQueryWrapper更加方便快捷,代码也不易写错。
2、LambdaQueryWrapper的条件构造器有bool字段作用
int a=1;
List<ScoretypeBean> list1 = list(new LambdaQueryWrapper<ScoretypeBean>()
.eq(ScoretypeBean::getStypeName,"asd")
.eq(a>=1,ScoretypeBean::getStypeName,"asd")
);
答:第一个eq,直接执行,第二个eq判断a>=1为ture则执行
3、LambdaQueryWrapper常用条件