在寫東西的過程中,多表聯查和分頁功能必不可少。當然,crud也很重要
但是又不想寫代碼和xml。
通過苦苦的查找。發現MyBatis-Plus一款國產的框架。優化了許多操作
本次主要記錄一下,多表聯查和分頁的使用。
Pom.xml <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.0.7.1</version> </dependency>
//Spring boot方式 @EnableTransactionManagement @Configuration @MapperScan("com.baomidou.cloud.service.*.mapper*") public class MybatisPlusConfig { /** * 分頁插件 */ @Bean public PaginationInterceptor paginationInterceptor() { return new PaginationInterceptor(); } }
操作完以上步驟(實體 mapper controller 等已建好)
@ResponseBody @GetMapping("/artList") public Map<String,Object>articleList(int page,int limit,Article article){ Page<Article> pageArt=new Page<Article>(page,limit); Page<Article> page1 = articleMapper.findAllAndPage(pageArt); //自定義方法,多表 // QueryWrapper<Article> diseaseQueryWrapperw = new QueryWrapper<Article>(article); // IPage<Article> page1 = articleService.page(pageArt,diseaseQueryWrapperw); //自帶的分頁查詢。只能單表 // List<Article> list = articleService.list(); int total = (int)page1.getTotal(); return TableMap.ResultJson(0,total,"ok",page1.getRecords()); //layui table 解析返回格式 }
mapper Xml
<select id="findAllAndPage" resultType="com.chaoba.shirodemo1.model.Article"> SELECT a.id,a.title,a.uid,a.isDel,a.createTime,a.type,ae.`name` FROM article a JOIN article_enum ae ON a.type=ae.id </select>
mapper接口
public interface ArticleMapper extends BaseMapper<Article> {
Page<Article> findAllAndPage( Page<Article> page);
}