今天写项目的时候遇到了分页的问题,第一次自己写关于分页的编码(虽然是利用插件 ~~笑:))
1.首先是新建一个 MyBatis-Config.xml 文件,里面写好 PageHelper的配置,具体如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- 配置管理器 -->
<configuration>
<plugins>
<!-- com.github.pagehelper为PageHelper类所在包名 -->
<plugin interceptor="com.github.pagehelper.PageHelper">
<!-- 4.0.0以后版本可以不设置该参数 -->
<property name="dialect" value="mysql"/>
</plugin>
</plugins>
</configuration>
2.写好了配置文件,接下来将这个配置文件加载到 mybatis的SqlSession的工厂,具体如下:在Spring-common.xml 中配置
<!-- 2. mybatis的SqlSession的工厂: SqlSessionFactoryBean dataSource:引用数据源 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="configLocation" value="classpath:MyBatis-Config.xml"/>
</bean>
3.接下来就可以在Mapper中编写sql语句,例如:
<select id="findAll" resultType="com.free.ssm.domain.Department">
SELECT * FROM department
</select>
4.在DAO接口中写好方法
5.在业务层如下编写:
public PageInfo<Department> findAllByPage(Integer currPage, Integer pageSize) {
PageHelper.startPage(currPage,pageSize);
List<Department> list = departmentDao.findAll();
PageInfo<Department> pageInfo = new PageInfo<>(list);
return pageInfo;
}
tips:pageInfo对象中包含了从数据库取出的list,以及分页的信息,比如当前页,一共多少页等等。
6.在jsp页面中,直接用EL表达式取出即可。
tips:注意一共两个jar包需要导入,不要因为这个浪费时间