Mybatis分页查询(通过SQL分页实现)
前言
实现有哪几种方式:
-
网页分页
(一次查询所有数据,加载到网页,那么适合数量小的操作)
-
服务器端分页
java程序中查询所有数据,网页需要哪一页,就给哪一页数据,会撑爆java服务器,建议查询缓存优化
-
数据库分页
请求一页数据,查询数据库即可
本文采用Oracle中的rownum实现分页,数据表使用Oracle中Scott的EMP表
一、搭建环境
目录结构
-
导入jar包
mybatis-3.2.7.jar
ojdbc6.jar -
数据库配置文件(db.properties)
db.driver=oracle.jdbc.driver.OracleDriver db.url=jdbc:oracle:thin:@10.25.164.149:1521:orcl db.username=scott db.password=123456
-
mybatis-config.xml
<environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${db.driver}"/> <property name="url" value="${db.url}"/> <property name="username" value="${db.username}"/> <property name="password" value="${db.password}"/> </dataSource> </environment> </environments> <mappers> <!-- 这是映射文件,一个表一个,我们的sql就写在这里 --> <mapper resource="config/EmpMapper.xml"/> </mappers> </configuration>
-
MybatisUtils.java
package net.neuedu.mybatis3.util; import java.io.IOException; import java.io.InputStream; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class MybatisUtils { private static SqlSessionFactory sqlSessionFactory; static { String resource =