mapper.xml常用标签
foreach标签
MyBatis中mapper.xml中foreach的使用_mapper.xml foreach_Willing卡卡的博客-CSDN博客
if标签
Mybatis中强大的resultMap
Mybatis中强大的resultMap - 知乎 (zhihu.com)
MyBatis中的collection两种常用使用方法(非常详细)_mybatis collection-CSDN博客
LambdaQueryWrapper常用方法
eq:等于,ne:不等于
gt:大于,ge:大于等于,lt:小于,le:小于等于(注意字符串比较大小的问题,最好不要比较字符串)
between:在值1和值2之间,notBetween:不在值1和值2之间(between取得值1和值2的值都可以取到,闭区间)
like:’%值%’,notLike:’%值%’,likeLeft:’%值’,likeRight:'值%'
isNull:字段 IS NULL,isNotNull:字段 IS NOT NULL
in:字段 IN (v0, v1, …),notIn:字段 NOT IN (value.get(0), value.get(1), …)
orderByAsc:升序:ORDER BY 字段, … ASC,orderByDesc:降序:ORDER BY 字段, … DESC
or:或者 ,and:和
inSql:字段 IN ( sql语句 ),notInSql:字段 NOT IN ( sql语句 )
last() last方法在SQL语句的最后添加自定义的SQL语句或SQL片段。
public NoticeReceiveQueryPo getMessage(){
QueryWrapper<NoticeManagement> queryWrapper = Wrappers.<NoticeManagement>query()
.eq("status", 1).last("limit 1");
getBaseMapper().getMySignNoticeReceive(queryWrapper);
}
public List<Menu> getMenus2() {
LambdaQueryWrapper<Menu> lambdaQueryWrapper = new LambdaQueryWrapper<>();
List<Integer> list = Arrays.asList(0,2);
lambdaQueryWrapper.ne(Menu::getMenuName,"用户管理");
lambdaQueryWrapper.and(t->{
for (Integer integer : list) {
t.inSql(Menu::getId, "SELECT id from menu WHERE position("+integer+" IN menuRight)>0").or();
}
});
// lambdaQueryWrapper
// .ne(Menu::getMenuName, "用户管理")
// .gt(Menu::getMenuCode, "10");
// .notBetween(Menu::getMenuCode, "010", "013");
// .likeLeft(Menu::getMenuName, "%管理");
// .isNotNull(Menu::getMenuParentCode);
// .in(Menu::getMenuCode, Arrays.asList("001", "002", "003"));
// .eq(Menu::getMenuCode, "010")
// .or()
// .eq(Menu::getMenuCode, "004")
// .eq(Menu::getMenuCode, "013");
// .inSql(Menu::getId, "SELECT id from menu WHERE position(1 IN menuRight)>1");
// .exists(Menu::getMenuParentCode);
return this.list(lambdaQueryWrapper);
}