java mybatis分页查询语句_mybatis分页查询的实现(一)[通俗易懂]

java mybatis分页查询语句_mybatis分页查询的实现(一)[通俗易懂]一、总结了mybatis中五种不同实现分页查询的方法UserMapper.java接口文件publicinterfaceUserMapper{//分页查询publicListselectForPage1(intstartIndex,intpageSize);publicListselectForPage2(Mapmap);publicIntegerselectCount()…

大家好,又见面了,我是你们的朋友全栈君。

一、总结了mybatis中五种不同实现分页查询的方法

UserMapper.java接口文件

public interface UserMapper {

//分页查询

public List selectForPage1(int startIndex,int pageSize);

public List selectForPage2(Map map);

public Integer selectCount();

public List selectForPage3(PageBean pageBean);

//分页加模糊查询

public Integer selectCount2(String keywords);

public List selectForPage4(Map map);

}

工具类PageBean.java

public class PageBean {

private Integer currentPage;

private Integer startIndex;

private Integer pageSize=5;

private Integer totalCount;

private Integer totalPage;

public Integer getCurrentPage() {

return currentPage;

}

public void setCurrentPage(Integer currentPage) {

this.currentPage = currentPage;

this.startIndex=(this.currentPage-1)*this.pageSize;

}

public Integer getPageSize() {

return pageSize;

}

public void setPageSize(Integer pageSize) {

this.pageSize = pageSize;

}

public Integer getTotalCount() {

return totalCount;

}

public void setTotalCount(Integer totalCount) {

this.totalCount = totalCount;

//计算总页数

this.totalPage=(int)Math.ceil((this.totalCount*1.0/this.pageSize));

}

public Integer getTotalPage() {

return totalPage;

}

public void setTotalPage(Integer totalPage) {

this.totalPage = totalPage;

}

public Integer getStartIndex() {

return startIndex;

}

public void setStartIndex(Integer startIndex) {

this.startIndex = startIndex;

}

}

UserMapper.xml文件

其中查询5是模糊加分页查询语句

/p>

PUBLIC “-//mybatis.org//DTD Mapper 3.0//EN”

“http://mybatis.org/dtd/mybatis-3-mapper.dtd”>

select * from user limit #{param1},#{param2}

select * from user limit #{startIndex},#{pageSize}

select * from user

select count(*) from user

select * from user limit #{startIndex},#{pageSize}

select * from user

where name like “%”#{keywords}”%” or address like “%”#{keywords}”%”

limit #{startIndex},#{pageSize}

select count(*) from user where name like “%”#{value}”%” or address like “%”#{value}”%”

测试test

其中方法6是模糊加分页查询测试

public class myTest {

SqlSession session = MyBatisUtils.openSession();

UserMapper userMapper = session.getMapper(UserMapper.class);

@Test

public void selectForPage1() {

int currentPage=1;

int pageSize=5;

List selectForPage = userMapper.selectForPage1((currentPage-1)*pageSize, pageSize);

for (User user : selectForPage) {

System.out.println(user);

}

MyBatisUtils.closeSession(session);

}

@Test

public void selectForPage2() {

int currentPage=1;

int pageSize=5;

Map map=new HashMap<>();

map.put(“startIndex”, (currentPage-1)*pageSize);

map.put(“pageSize”, pageSize);

List selectForPage = userMapper.selectForPage2(map);

for (User user : selectForPage) {

System.out.println(user);

}

MyBatisUtils.closeSession(session);

}

@Test

public void selectForPage3() {

int currentPage=1;

int pageSize=5;

/**

* 参数1:开始条 偏移量,下标

* 参数2:参数总条数

*/

RowBounds rowBounds = new RowBounds((currentPage-1)*pageSize, pageSize);

//使用mybatis里面提供的api去写的

List list = session.selectList(“com.gx.mapper.UserMapper.selectAll”, null, rowBounds);

for (User user : list) {

System.out.println(user);

}

MyBatisUtils.closeSession(session);

}

@Test

public void selectForPage4() {

Integer count = userMapper.selectCount();

System.out.println(count);

int currentPage=1;

int pageSize=5;

Map map=new HashMap<>();

map.put(“startIndex”, (currentPage-1)*pageSize);

map.put(“pageSize”, pageSize);

List list = userMapper.selectForPage2(map);

for (User user : list) {

System.out.println(user);

}

System.out.println(“当前第”+currentPage+”页,共”+count+”条”);

MyBatisUtils.closeSession(session);

}

@Test

public void selectForPage5() {

PageBean bean = new PageBean();

bean.setCurrentPage(1);

bean.setPageSize(5);

//查询总条数

Integer count = userMapper.selectCount();

//放到pageBean

bean.setTotalCount(count);

List list = userMapper.selectForPage3(bean);

for (User user : list) {

System.out.println(user);

}

System.out.println(“当前第”+bean.getCurrentPage()+”页,共”+count+”条”);

MyBatisUtils.closeSession(session);

}

@Test

public void selectForPage6() {

String keywords=”云6″;

PageBean bean = new PageBean();

bean.setCurrentPage(1);

bean.setPageSize(5);

//查询总条数

Integer count = userMapper.selectCount2(keywords);

//放到pageBean

bean.setTotalCount(count);

Map map = new HashMap<>();

map.put(“startIndex”, bean.getStartIndex());

map.put(“pageSize”, bean.getPageSize());

map.put(“keywords”, keywords);

List list = userMapper.selectForPage4(map);

for (User user : list) {

System.out.println(user);

}

System.out.println(“当前第”+bean.getCurrentPage()+”页,共”+count+”条”);

MyBatisUtils.closeSession(session);

}

}

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • latex 公式如何换行

    latex 公式如何换行1、如图所示,我们先写个长公式。2、可以看到,公式没有自动换行,而是跨过了一栏。3、如图所示,在公式上下两端加上split。同时使用\\指明换行的位置。4、如图所示,公式实现了自动换行。5、大家选择换行的位置也很重要。如图所示,选择该处换行6、得到的效果就非常糟糕。承接Matlab、Python和C++的编程,机器学习、计算机视觉的理论实现及辅导,本科和硕士的均可,咸鱼交易,专业回答请走知乎,详谈请联系QQ号757160542,非诚勿扰。…

    2022年5月4日
    317
  • k8s解除service端口限制

    k8s解除service端口限制

    2021年6月2日
    177
  • 移动端开发模式

    移动端开发模式移动端开发模式现今流行的移动端开发模式共有三种:web(H5)Hybrid(混合开发)Native(原生)下面来剖析一下三种模式的优缺点:1.开发难度:无疑web和Hybrid难度要小于原生app开发,而且可以利用现有的Web开发工具和工作流程。2.移动设备本地API访问:Hybrid可以通过jsAPI访问移动设备的摄像头,GPS等。原生App可以通

    2022年6月24日
    34
  • latex 公式换行的命令

    latex 公式换行的命令2019独角兽企业重金招聘Python工程师标准>>>…

    2022年6月10日
    40
  • 【电脑配置】开发人员必备,黑苹果双系统安装教程

    【电脑配置】开发人员必备,黑苹果双系统安装教程转存失败重新上传取消转存失败重新上传取消​首先把我自己的电脑配置贴出来供大家参考:CPU:Inteli7-8086k主板:技嘉Z370AORUSULTRAGAMINGWIFI内存:海盗船铂金统治者3000C15白光8G*2套条(已送修)改为酷兽DDR432008G*4,海力士颗粒。显卡:镭风RX5704G散热:九州风神堡垒240硬盘:PM9…

    2022年6月25日
    62
  • 音频编辑大师 3.3 注册名称 许可证

    音频编辑大师 3.3 注册名称 许可证

    2021年12月31日
    44

发表回复

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

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