MyBatis 插件扩展 分页 批量 存储过程 自定义类

1、PageHelper插件进行分页

(1)PageHelper是MyBatis中非常方便的第三方分页插件。如果直接用mysql的limit关键字来分页,不够灵活,还会改代码。pagehelper可以低侵入式完成分页(不改代码,只新增代码)

(2)官方文档:https://github.com/pagehelper/Mybatis-PageHelper/blob/master/README_zh.md

(3)我们可以对照官方文档的说明,快速的使用插件

(4)使用方法

step1 用Maven 导入jar包,具体上官方文档

 

step2 EmployeeMapper.java中

package com.atguigu.mybatis.dao;

public interface EmployeeMapper {
	public List<Employee> getEmps();
	
}

进入映射文件中,写好查询sql语句

<!--public List<Employee> getEmps();  -->
	<select id="getEmps" resultType="com.atguigu.mybatis.bean.Employee">
		select id,last_name lastName,email,gender from tbl_employee
	</select>

全局配置文件mybatis-config.xml中,配置分页插件

<plugins>
		<plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
</plugins>

进入测试文件测试,分页效果。

package com.atguigu.mybatis.test;


public class MyBatisTest {
    @Test
	public void test01() throws IOException {
		// 1、获取sqlSessionFactory对象
		SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
		// 2、获取sqlSession对象
		SqlSession openSession = sqlSessionFactory.openSession();
		try {
			EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);

			List<Employee> emps = mapper.getEmps();
			//传入要连续显示多少页
			PageInfo<Employee> info = new PageInfo<>(emps, 5);
			for (Employee employee : emps) {
				System.out.println(employee);
			}
			System.out.println("当前页码:"+info.getPageNum());
			System.out.println("总记录数:"+info.getTotal());
			System.out.println("每页的记录数:"+info.getPageSize());
			System.out.println("总页码:"+info.getPages());
			System.out.println("是否第一页:"+info.isIsFirstPage());
			System.out.println("连续显示的页码:");
			int[] nums = info.getNavigatepageNums();
			for (int i = 0; i < nums.length; i++) {
				System.out.println(nums[i]);
			}
		} finally {
			openSession.close();
		}

	}
}	

2、批量操作

2.1 常规批量操作

step1 接口中,写好添加方法

package com.atguigu.mybatis.dao;


public interface EmployeeMapper {
	
	public Long addEmp(Employee employee);
}

step2 映射文件中,写好sql语句

<!--public Long addEmp(Employee employee);  -->
	<insert id="addEmp" useGeneratedKeys="true" k
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值