
分页插件:顾名思义就是帮你实现分页功能的组件。
为什么需要使用分页插件?
在我们实现查询功能时,可能会遇到查询结果的数据量十分庞大的情况,此时如果通过编程人员去编写分页关键字,就会使代码量十分庞大和冗余,而通过分页插件,就只需要传入两个参数,就可以实现分页的需求。
1.2 使用PageHelper(1)引入PageHelper依赖
com.github.pagehelper
pagehelper
5.1.11
(2)在Mybatis配置文件中设置PageHelper拦截器
(3)在代码中使用PageHelper
@Test
public void testPagehelper() throws Exception{
Reader reader = Resources.getResourceAsReader("conf.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
SqlSession session = factory.openSession();
StudentDao studentDao= session.getMapper(StudentDao.class);
//需要在方法调用前使用分页
PageHelper.startPage(1,5);
List studentList = studentDao.getAll();
//将查询结果封装到分页插件中,便于获取页码、数据总数等一系列值
PageInfo studentPageInfo = new PageInfo<>(studentList);
System.out.println(studentList);
System.out.println(studentPageInfo.getSize());
session.commit();
session.close();
}
(4)分页插件执行原理
分页插件中设置拦截器的原因就是用于拦截映射文件中的sql语句,并拼接上分页关键字以及参数值,然后再与数据库进行交互。实现分页功能。
2.Mybatis代码生成器--Generator 2.1 mybatis generator的作用mybatis generator是mybatis的一个独立工具,会根据我们所提供的数据库的表来帮我们建立实体类(entity)、映射文件(XXXMapper.xml)、dao层文件等内容,并且能够帮我们编写一些简单的CRUD操作。
2.2 使用generator官方手册:MyBatis Generator Core – Introduction to MyBatis Generatorhttp://mybatis.org/generator(1)再pom.xml中引入mybatis-generator-core依赖
org.mybatis.generator mybatis-generator-core1.4.0
(2)再pom.xml同级目录下创建generator的配置文件generatorConfig.xml(可随意命名,但必须为.xml文件),并编写配置文件。
(3)运行配置文件(再main函数中运行或测试方法中运行都可)
@Test
public void testRun() throws Exception{
List warnings = new ArrayList();
boolean overwrite = true;
//读取你的配置文件
File configFile = new File("generatorConf.xml");
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
myBatisGenerator.generate(null);
}
以上关于generator的配置在官方文档中均可查找到,若有需求请移步官方文档。