Java分页查询TrainBookType数据
这段代码实现了一个分页查询的功能,查询的对象是TrainBookType。
在查询时,先判断是否传入了bookName和bookCode参数,如果有则根据这两个参数进行模糊查询,并按照'sort'字段进行升序排序,然后使用baseMapper进行分页查询。如果没有传入这两个参数,则查询根节点,并按照'sort'字段进行升序排序。
查询结果是一个BsPage对象,包含查询的总页数和每页的记录数。最后返回这个BsPage对象。
BsPage<TrainBookType> bsPage = new BsPage<>(page, rows);
QueryWrapper<TrainBookType> wrapper = new QueryWrapper<>();
if (Str.isNotEmpty(bookName) || Str.isNotEmpty(bookCode)) {
wrapper.ne('id', StringPool.ROOT);
wrapper.like(Str.isNotEmpty(bookName), 'book_name', bookName);
wrapper.like(Str.isNotEmpty(bookCode), 'book_code', bookCode);
wrapper.orderByAsc('sort');
bsPage = baseMapper.selectPage(bsPage, wrapper);
} else {
// 1.分页加载根节点
// wrapper.eq('parent_id', StringPool.ROOT);
// wrapper.orderByAsc( 'sort');
List<TrainBookType> roots = baseMapper.selectPage(bsPage, wrapper).getRecords();
// // 2.依据tenant_id 查询子节点
// List<SysBook> result = queryChildOrgByTenantId(roots);
// bsPage.setRecords(result);
}
return bsPage;
代码使用了MyBatis的QueryWrapper来构建查询条件,并使用baseMapper进行分页查询。代码中使用了一些常用的工具方法,例如Str.isNotEmpty()用于判断字符串是否为空,StringPool.ROOT表示根节点的ID。
这段代码的核心功能是根据传入的参数进行条件查询,并将查询结果封装到BsPage对象中返回。
原文地址: https://www.cveoy.top/t/topic/mKrO 著作权归作者所有。请勿转载和采集!