mybatisplus+oracle实现分页
时间: 2023-12-15 14:32:37 浏览: 195
Mybatis实现分页功能
5星 · 资源好评率100%
以下是使用Mybatis Plus和Oracle实现分页的示例代码:
1.在pom.xml文件中添加Mybatis Plus的依赖:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
```
2.在application.yml文件中配置数据源和Mybatis Plus:
```yaml
spring:
datasource:
url: jdbc:oracle:thin:@localhost:1521:orcl
username: root
password: 123456
driver-class-name: oracle.jdbc.driver.OracleDriver
mybatis-plus:
mapper-locations: classpath:/mapper/*.xml
configuration:
map-underscore-to-camel-case: true
```
3.在Mapper接口中定义分页查询方法:
```java
public interface UserMapper extends BaseMapper<User> {
List<User> selectUserPage(Page<User> page, @Param("name") String name);
}
```
4.在Mapper.xml文件中实现分页查询:
```xml
<select id="selectUserPage" resultType="com.example.demo.entity.User">
select * from (
select row_.*, rownum rownum_ from (
select * from user where name like concat('%', #{name}, '%')
) row_
where rownum <= #{current} * #{size}
) a
where rownum_ > (#{current} - 1) * #{size}
</select>
```
5.在Service中调用分页查询方法:
```java
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
@Override
public IPage<User> getUserPage(Page<User> page, String name) {
return baseMapper.selectUserPage(page, name);
}
}
```
以上就是使用Mybatis Plus和Oracle实现分页的示例代码。需要注意的是,在Mapper.xml文件中的SQL语句中,需要使用rownum来实现分页,同时需要将查询结果的列名改为rownum_,否则会出现错误。另外,需要在查询语句中使用concat函数来实现模糊查询。如果需要其他类型的分页查询,可以根据类似的方式进行实现。
阅读全文