SpringBoot整合mybatis-plus进阶详细教程
前言
本文将详细介绍如何在SpringBoot项目中整合mybatis-plus,使用该框架进行数据库操作,提高开发效率。
环境准备
- JDK 1.8
- SpringBoot 2.3.0.RELEASE
- mybatis-plus 3.3.0
- MySQL 5.7
集成mybatis-plus
引入依赖
在pom.xml文件中,添加以下依赖:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.0</version>
</dependency>
配置数据源
在application.yml文件中,配置数据源信息:
spring:
datasource:
url: jdbc:mysql://localhost:3306/mybatis_plus?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: 123456
配置mybatis-plus
在SpringBoot启动类中,添加@MapperScan注解,指定扫描mapper接口的位置:
@SpringBootApplication
@MapperScan("com.example.mapper")
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
创建实体类
创建实体类User,使用@TableId注解指定主键:
@Data
@TableName("user")
public class User {
@TableId(type = IdType.AUTO)
private Long id;
private String name;
private Integer age;
private String email;
}
创建mapper接口
创建mapper接口UserMapper,继承BaseMapper,mybatis-plus会自动实现基本的CRUD操作:
public interface UserMapper extends BaseMapper<User> {
}
测试
在Controller中注入UserMapper,进行测试:
@RestController
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/user/{id}")
public User getUserById(@PathVariable Long id) {
return userMapper.selectById(id);
}
}
启动应用,访问http://localhost:8080/user/1,返回数据说明配置成功。
添加自定义SQL
如果需要添加自定义SQL,可以在mapper接口中添加方法,使用@Select注解指定查询语句:
public interface UserMapper extends BaseMapper<User> {
@Select("select * from user where age = #{age}")
List<User> selectByAge(Integer age);
}
然后在Controller中调用该方法:
@GetMapping("/user")
public List<User> getUserByAge(@RequestParam Integer age) {
return userMapper.selectByAge(age);
}
使用分页查询
如果需要进行分页查询,可以使用mybatis-plus提供的分页插件,需要添加依赖和配置。
引入依赖
添加以下依赖:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-extension</artifactId>
<version>3.3.0</version>
</dependency>
配置mybatis-plus插件
在配置类中,添加PaginationInterceptor实例,并注入到SqlSessionFactoryBean中:
@Configuration
public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
@Bean
public SqlSessionFactoryBean sqlSessionFactoryBean(DataSource dataSource) throws Exception {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSource);
sqlSessionFactoryBean.setPlugins(paginationInterceptor()); //添加分页插件
return sqlSessionFactoryBean;
}
}
使用分页查询
在Controller中调用selectPage方法,即可实现分页查询:
@GetMapping("/user/list")
public Page<User> getUserList(@RequestParam Integer pageNum, @RequestParam Integer pageSize) {
Page<User> page = new Page<>(pageNum, pageSize);
return userMapper.selectPage(page, null);
}
以上就是SpringBoot整合mybatis-plus的进阶详细教程,通过该教程可以快速上手mybatis-plus,提高开发效率。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot整合mybatis-plus进阶详细教程 - Python技术站