全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

mybatis分页及模糊查询功能实现

mybatis中分页有3种方式来实现,通过sql语句(两种传参方式)来实现,通过mybatis 的 Rowbounds 来实现。

通过(自定义类型)传参 来实现分页:

映射文件:

<select id="findListBypage" parameterType="cn.wh.util.PageUtil" resultType="Role">
    select * from t_role limit #{index},#{size}
  </select>

测试代码:

/**
   * 通过自定义类型来传参 实现分页功能 需要新建一个类型
   */
  @Test
  public void testPage1(){
    PageUtil pu = new PageUtil();
    pu.setIndex(3);
    pu.setSize(3);
    List<Role> list = session.selectList("cn.wh.mapper.RoleMapper.findListBypage", pu);
    for(Role r:list){
      System.out.println(r.getName());
    }
  }

通过map传参实现:
映射文件:

<select id="findListBypage" parameterType="map " resultType="Role">
    select * from t_role limit #{index},#{size}
  </select>

测试代码:

/**
   * 可以通过map来传参 这样可以不用新建新的类型
   */
  @Test
  public void testPage2(){
    Map<String,Integer> map = new HashMap<String,Integer>();
    map.put("index", 0);
    map.put("size", 3);
    List<Role> list = session.selectList("cn.wh.mapper.RoleMapper.findListBypage", map);
    for(Role r:list){
      System.out.println(r.getName());
    }
  }


通过RowBounds来实现分页:
映射文件:

<select id="findAll" resultType="Role">
    select * from t_role
  </select>

测试代码:

/**
   * 使用rowBounds来实现分页
   */
  @Test
  public void testPage3(){
    //第一个参数 是index,开始下标
    //第二个参数 是size,每页显示记录数
    RowBounds bounds = new RowBounds(3, 3);
    List<Role> list = session.selectList("cn.wh.mapper.RoleMapper.findAll", null,bounds);
    for(Role r:list){
      System.out.println(r.getName());
    }
  }

注意:通常情况下使用 Map 传参来实现分页

模糊查询
映射文件:

<select id="selectLike" parameterType="string" resultType="Role">
    select *from t_role where name like #{name}
  </select>

测试代码:

/**
   * 模糊查询
   */
  @Test
  public void testLike1(){
    List<Role> list = session.selectList("cn.wh.mapper.RoleMapper.selectLike","%会员");
    for(Role r:list){
      System.out.println(r.getName());
    }
  }

第二种方式:

<select id="selectLike1" parameterType="string" resultType="Role">
    select *from t_role where name like concat(#{name},'%');
  </select>

测试代码:

/**
   * 模糊查询
   */
  @Test
  public void testLike2(){
    List<Role> list = session.selectList("cn.wh.mapper.RoleMapper.selectLike1","黄");
    for(Role r:list){
      System.out.println(r.getName());
    }
  }

注意:通常使用第二种方式实现模糊查询

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# mybatis  # 分页  # 模糊查询  # MyBatis学习教程(五)-实现关联表查询方法详解  # mybatis-plus分页查询的实现示例  # 完美解决MybatisPlus插件分页查询不起作用总是查询全部数据问题  # MyBatis-Plus 分页查询以及自定义sql分页的实现  # SpringMVC+Mybatis实现的Mysql分页数据查询的示例  # Java的MyBatis框架中实现多表连接查询和查询结果分页  # Mybatis实现联表查询并且分页功能  # 来实现  # 自定义  # 第二种  # 第一个  # 两种  # 每页  # 可以通过  # 第二个  # 大家多多  # 新建一个  # 建新  # 情况下  # resultType  # Role  # gt  # PageUtil  # limit  # 来传参  # util 


相关文章: 制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?  微课制作网站有哪些,微课网怎么进?  如何用PHP快速搭建高效网站?分步指南  如何在宝塔面板中创建新站点?  建站之星后台搭建步骤解析:模板选择与产品管理实操指南  如何获取PHP WAP自助建站系统源码?  如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  建站之星导航如何优化提升用户体验?  建站为何优先选择香港服务器?  湖北网站制作公司有哪些,湖北清能集团官网?  如何选择CMS系统实现快速建站与SEO优化?  制作网站公司那家好,网络公司是做什么的?  如何选择香港主机高效搭建外贸独立站?  javascript中的try catch异常捕获机制用法分析  C#如何序列化对象为XML XmlSerializer用法  怎么将XML数据可视化 D3.js加载XML  单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  建站主机数据库如何配置才能提升网站性能?  制作网站的过程怎么写,用凡科建站如何制作自己的网站?  青浦网站制作公司有哪些,苹果官网发货地是哪里?  头像制作网站在线制作软件,dw网页背景图像怎么设置?  建站VPS选购需注意哪些关键参数?  网站制作难吗安全吗,做一个网站需要多久时间?  网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  如何在Tomcat中配置并部署网站项目?  微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?  如何选择美橙互联多站合一建站方案?  如何通过虚拟机搭建网站?详细步骤解析  一键网站制作软件,义乌购一件代发流程?  如何在宝塔面板中修改默认建站目录?  制作网站的软件免费下载,免费制作app哪个平台好?  如何配置支付宝与微信支付功能?  如何在Windows服务器上快速搭建网站?  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  实现虚拟支付需哪些建站技术支撑?  如何在建站之星网店版论坛获取技术支持?  制作电商网页,电商供应链怎么做?  如何快速搭建高效简练网站?  c# 在高并发场景下,委托和接口调用的性能对比  如何在香港服务器上快速搭建免备案网站?  创业网站制作流程,创业网站可靠吗?  jQuery 常见小例汇总  网站制作需要会哪些技术,建立一个网站要花费多少?  装修招标网站设计制作流程,装修招标流程?  如何在Golang中指定模块版本_使用go.mod控制版本号  建站之星后台密码遗忘或太弱?如何重置与强化? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。