springboot mybatis pagehelper
时间: 2023-05-01 15:03:35 浏览: 116
springboot是一个开源的Java开发框架,mybatis是一种数据持久化框架,pagehelper是一种用于分页的插件。这三种技术可以一起使用,以实现在springboot应用中使用mybatis进行数据库操作,并且使用pagehelper实现数据分页的功能。
相关问题
springboot整合mybatis pagehelper
Spring Boot整合MyBatis PageHelper可以实现分页查询功能。下面是一个简单的示例:
首先,需要在pom.xml文件中添加MyBatis PageHelper的依赖:
```xml
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.13</version>
</dependency>
```
然后,在application.properties或application.yml文件中配置数据源相关信息,例如:
```yaml
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
```
接下来,在Spring Boot的启动类上添加`@MapperScan`注解,指定要扫描的Mapper接口所在的包路径,例如:
```java
@SpringBootApplication
@MapperScan("com.example.mapper")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
```
然后,在Mapper接口中定义查询方法,使用PageHelper提供的静态方法`startPage`来启动分页功能,例如:
```java
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
@Mapper
public interface UserMapper {
List<User> getUsers();
@Select("SELECT * FROM users")
@ResultMap("userResultMap")
Page<User> getUsersWithPage();
}
```
最后,在Service或Controller层调用Mapper接口的方法即可实现分页查询,例如:
```java
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List<User> getUsers() {
return userMapper.getUsers();
}
public Page<User> getUsersWithPage(int pageNum, int pageSize) {
PageHelper.startPage(pageNum, pageSize);
return userMapper.getUsersWithPage();
}
}
```
这样就完成了Spring Boot与MyBatis PageHelper的整合,可以通过调用`getUsersWithPage`方法实现分页查询操作。
springboot分页pagehelper+mybatis plus实现分页示例代码
Spring Boot是一个能够极大简化Spring应用开发的框架,而PageHelper是MyBatis的分页插件,而MyBatis Plus则是MyBatis的增强工具包。SpringBoot整合PageHelper和MyBatis Plus可以简化分页操作,示例代码如下:
1.首先,在pom.xml文件中添加PageHelper和MyBatis Plus的依赖:
```xml
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>最新版本号</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>最新版本号</version>
</dependency>
```
2.配置MyBatis Plus的分页插件
```java
@Configuration
public class MybatisPlusConfig {
@Autowired
private DataSource dataSource;
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
@Bean
public SqlSessionFactory sqlSessionFactory() throws Exception {
MybatisSqlSessionFactoryBean sqlSessionFactory = new MybatisSqlSessionFactoryBean();
sqlSessionFactory.setDataSource(dataSource);
sqlSessionFactory.setPlugins(new Interceptor[]{paginationInterceptor()}); //添加分页插件
return sqlSessionFactory.getObject();
}
}
```
3.使用PageHelper的分页接口进行分页
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public Page<User> findUserList(Integer pageNum, Integer pageSize) {
PageHelper.startPage(pageNum, pageSize);
List<User> userList = userMapper.selectList(null);
PageInfo<User> pageInfo = new PageInfo<>(userList);
return pageInfo.toPageInfo();
}
}
```
4.使用MyBatis Plus的分页接口进行分页
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public IPage<User> findUserList(Integer pageNum, Integer pageSize) {
Page<User> page = new Page<>(pageNum, pageSize);
return userMapper.selectPage(page, null);
}
}
```
以上便是使用Spring Boot整合PageHelper和MyBatis Plus进行分页的示例代码。
阅读全文