1.在pom文件中引入mybatis-plus
< dependency>
< groupId> com.baomidou</ groupId>
< artifactId> mybatis-plus-boot-starter</ artifactId>
< version> 3.2.0</ version>
</ dependency>
2.新建一个mybatis-plus配置类
@Configuration
@EnableTransactionManagement
@MapperScan ( "mapper包" )
public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor ( ) {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor ( ) ;
return paginationInterceptor;
}
}
3.在mapper.xml中添加自定义sql
<?xml version="1.0" encoding="UTF-8"?>
<! DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
< mapper namespace = " mapper所在包" >
< select id = " getBlogByType" resultType = " 返回值类型" >
select *
from blog
where type_id =
(select id from type
where type_name = #{typeName})
</ select>
</ mapper>
4.在mapper中添加方法
IPage < BlogDto > getBlogByType ( IPage < Blog > page , String typeName) ;
5.service中增加方法
IPage < BlogDto > getBlogByType ( IPage < Blog > page , String typeName) ;
6.serviceImpl中重写方法
@Autowired
BlogMapper blogMapper;
@Override
public IPage < BlogDto > getBlogByType ( IPage < Blog > page, String typeName) {
return blogMapper. getBlogByType ( page, typeName) ;
}
7.在controller中调用方法
@PostMapping ( "/blogsByType" )
public Object showBlogsByTpye ( @RequestBody BlogsByTypeDto blogsByTypeDto) {
Page page = new Page ( blogsByTypeDto. getCurrentPage ( ) , 5 ) ;
IPage blogs = blogService. getBlogByType ( page, blogsByTypeDto. getTypeName ( ) ) ;
return Result . succ ( blogs) ;
}