Mybatis分页插件&注解模式

Mybatis分页插件&注解模式Mybatis 分页插件 1 分页插件的依赖 dependency groupId com github pagehelper groupId artifactId pagehelper artifactId version 5 1 10 version dependency 2 在核心配置文件中配置分页查询 3 分页代码

Mybatis分页插件

1. 分页插件的依赖

 
   
   
     com.github.pagehelper 
    
   
     pagehelper 
    
   
     5.1.10 
    
  

2. 在核心配置文件中配置分页查询

Mybatis分页插件&注解模式

3. 分页代码

@Test public void testCutPage() { //查询employee表中的所有记录,每页显示2条记录 //1.设置分页 PageHelper.startPage(3,2); //2.查询 SqlSession session = MyBatisUtils.getSession(); EmployeeMapper employeeMapper = session.getMapper(EmployeeMapper.class); List 
  
    employeeList=employeeMapper.selectByExample(new EmployeeExample()); //3.把查询结果放到PageInfo中 PageInfo 
   
     pageInfo=new PageInfo 
    
      (employeeList); //4.可以从PageInfo中取出分页信息 long total=pageInfo.getTotal(); int totalPages=pageInfo.getPages(); List 
     
       employees= pageInfo.getList(); System.out.println("总记录数:"+total); System.out.println("总页数:"+totalPages); System.out.println("当前页:"+pageInfo.getPageNum()); System.out.println("每页记录数:"+pageInfo.getPageSize()); for (Employee employee : employees) { System.out.println(employee); } } 
      
     
    
  

Mybatis注解模式

1. 单标注解 

public interface WorkerMapper { @Insert("insert into worker(w_name,w_gender,w_age,w_salary) values(#{name},#{gender},#{age},#{salary})") public void saveWorker(Worker worker); @Update("update worker set w_name=#{name},w_gender=#{gender},w_age=#{age},w_salary=#{salary} where w_id=#{id}") public void updateWorker(Worker worker); @Delete("delete from worker where w_id=#{id}") public void deleteWorker(Integer id); @Select("select * from worker where w_id=#{id}") @Results({ @Result(column = "w_id",property = "id"), @Result(column = "w_name",property = "name"), @Result(column = "w_gender",property = "gender"), @Result(column = "w_age",property = "age"), @Result(column = "w_salary",property = "salary") }) public Worker getWorkerById(Integer id); @Select("select * from worker") @Results({ @Result(column = "w_id",property = "id"), @Result(column = "w_name",property = "name"), @Result(column = "w_gender",property = "gender"), @Result(column = "w_age",property = "age"), @Result(column = "w_salary",property = "salary") }) public List 
  
    getWorkers(); } 
  

2. 多表关系映射

EmployeeMapper注解映射

public interface EmployeeMapper { @Select("select * from employee where e_id=#{id}") @Results({ @Result(column = "e_id",property = "id"), @Result(column = "e_name",property = "name"), @Result(column = "e_gender",property = "gender"), @Result(property = "depart",javaType = Department.class,column = "e_depart_id", one = @One(select = "cn.offcn.mapper.DepartmentMapper.getDepartmentById",fetchType = FetchType.LAZY)) }) public Employee getEmployeeById(Integer id); @Select("select * from employee where e_depart_id=#{id}") @Results({ @Result(column = "e_id",property = "id"), @Result(column = "e_name",property = "name"), @Result(column = "e_gender",property = "gender") }) public List 
  
    getEmployeeByDepartId(Integer id); } 
  

DepartmentMapper映射

public interface DepartmentMapper { @Select("select * from department where d_id=#{id}") @Results({ @Result(column = "d_id",property = "id"), @Result(column = "d_name",property = "name"), @Result(property = "emps", column = "d_id", many = @Many(select = "cn.offcn.mapper.EmployeeMapper.getEmployeeByDepartId")) }) public Department getDepartmentById(Integer id); }

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178835.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午4:25
下一篇 2026年3月26日 下午4:26


相关推荐

  • iPhone4的home键失灵解救方法集锦

    iPhone4的home键失灵解救方法集锦最近 很多 iPhone4 的用户都反映 home 有失灵现象 限时免费都追不到 我们伟大的 iPhone4 竟然也能失灵 安卓 WINPHONE 表示没有鸭梨 是的 都失灵了 为此 我们收集了网上广为流传的 home 键恢复方法广大

    2026年3月26日
    1
  • JAVA贪吃蛇小游戏源代码系列

    JAVA贪吃蛇小游戏源代码系列Java贪吃蛇小游戏元源代码

    2022年5月9日
    129
  • 在吗?认识一下JWT(JSON Web Token) ?[通俗易懂]

    在吗?认识一下JWT(JSON Web Token) ?

    2022年2月14日
    47
  • Java安全之C3P0链利用与分析

    Java安全之C3P0链利用与分析0x00前言在一些比较极端情况下,C3P0链的使用还是挺频繁的。0x01利用方式利用方式在C3P0中有三种利用方式httpbaseJNDIHEX

    2021年12月13日
    44
  • 矩阵是否正定/负定、半正定/半负定的判断

    矩阵是否正定/负定、半正定/半负定的判断矩阵是否正定 负定 半正定 半负定的判断一 常用定义正定矩阵 一个 n 阶的实对称矩阵 M 是正定的的条件是当且仅当对于所有的非零实系数向量 z 都有 z Mz gt 0 其中 z 表示 z 的转置 负定矩阵 一个 n 阶的实对称矩阵 M 是正定的的条件是当且仅当对于所有的非零实系数向量 z 都有 z Mz gt 0 其中 z 表示 z 的转置 半正定矩阵 一个 n 阶的实对称矩阵 M 是正定的的条件是当且仅当对于所有的非零实系数向量 z 都有 z Mz 0 其中 z 表示 z 的转置 半负定矩阵 一个 n 阶的实对称矩阵 M 是正定的的条件是当且仅当对于所

    2026年3月19日
    3
  • iframe高度自适应的方法

    iframe高度自适应的方法js 自适应高度 实际上就是设置 iframe 的高度 设置等于内嵌网页的高度 从而看不到滚动条和嵌套痕迹 对于用户体验和网站美观起着重要作用 我们可以通过 css 来给它直接定义一个高度 同样可以实现上面的需求 当内容是未知或者是变化的时候 这个时候又有几种情况了 1 iframe 内容未知 高度可预测 document domain caibaojian com functionsetI iframe if iframe variframeWin

    2026年3月20日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号