Mybatis 3.4以下分页效果实现代码示例
127 浏览量
更新于2024-09-01
收藏 249KB PDF 举报
"本文将详细介绍MyBatis版本3.4及以下如何实现分页效果,通过结合Spring MVC和MyBatis的配置,展示一个具体的代码示例。首先,我们将从Spring MVC的配置文件`spring-mvc.xml`入手,该文件定义了自动扫描注解包的规则以及视图解析器的设置。
在`spring-mvc.xml`中,我们看到`<context:component-scan>`标签用于自动扫描指定包下的所有带有注解的Java类,如@Repository、@Service和@Controller等。这里指定的`base-package`属性为`com.ij34.bean`,这意味着Spring会查找该路径下的Java类来初始化bean。
接下来是`<bean id="viewResolver">`部分,内部资源视图解析器`InternalResourceViewResolver`被用来映射请求到JSP视图。`prefix`属性设置了视图文件的前缀,这里是`/WEB-INF/view/`,`suffix`属性则是后缀名,设置为`.jsp`。
然后转向MyBatis的部分,通常在Spring Boot项目中,我们会使用`applicationContext.xml`或者在YAML文件中配置数据源和MyBatis的SqlSessionFactory。然而,由于没有提供这部分的代码,我们可以假设在这个配置文件中已经包含了数据源的设置,以及MyBatis的配置,例如:
```xml
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<!-- 这里添加MyBatis的配置,如mapperScannerBasePackage、typeAliasesPackage等 -->
<property name="mapperLocations" value="classpath:mapper/*.xml"/>
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.ij34.mapper"/>
</bean>
```
在MyBatis中实现分页,我们需要编写Mapper接口,并在对应的XML文件中配置分页插件。例如,使用MyBatis-PageHelper插件,可以在Mapper接口中声明分页查询方法:
```java
import com.github.pagehelper.Page;
import com.github.pagehelper.PageInfo;
public interface UserMapper {
@Select("SELECT * FROM user")
Page<User> findAll(@Param("params") PageHelper parameters); // 参数params包含当前页码和每页大小
}
```
在XML文件中,引入PageHelper的配置:
```xml
<mapper namespace="com.ij34.mapper.UserMapper">
<select id="findAll" parameterType="com.github.pagehelper.PageHelper" resultType="User">
SELECT * FROM user
</select>
</mapper>
```
然后在Controller层,调用这个分页查询并传递参数,如页码和每页大小:
```java
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/{pageNumber}/{pageSize}")
public PageInfo<User> getUsers(int pageNumber, int pageSize) {
PageHelper.startPage(pageNumber, pageSize);
return userMapper.findAll();
}
}
```
通过这种方式,Spring MVC和MyBatis的配合使得分页效果在RESTful API中得以实现。当用户请求特定页面的数据时,Controller会调用UserMapper的分页查询方法,返回指定页码的用户列表,而PageHelper则负责处理实际的分页逻辑。这样,无论是前端还是后端,都可以方便地进行分页浏览数据。"
122 浏览量
185 浏览量
998 浏览量
168 浏览量
2016-10-28 上传
1585 浏览量
371 浏览量
106 浏览量
206 浏览量
weixin_38569109
- 粉丝: 7
- 资源: 955
最新资源
- tuto-gatsby_forestry
- C课程:来自C和自学的代码
- tl082 中文资料
- shortly-deploy
- Advanced_Tensorflow_Specialization:Coursera的DeepLearning.ai高级Tensorflow专业化课程
- 客户性格分析与客户开发
- AdobeAnalyticsTableauConnector:使用最新的Tableau Web连接器设置构建的Adobe Analytics Tableau Data连接器
- 工业互联网标识二级节点(佛山)建设及应用的实践探索.zip
- assignment1ADP3:02组
- 电子功用-多层开放式空心电感线圈
- 数字电路课程设计,电子时钟设计
- 借助转账授权加强银行代扣代付工作宣导
- 基础:为贝叶斯分析做准备的概念和技巧(假设前提)
- hacklyfe:使用 Playlyfe 的简单 HackerRank 风格演示
- notifications-js-polling-consumer:使用池的通知服务的使用者
- JS-Quiz