MyBatis中如何实现一个分页功能呢?
创始人
2024-02-22 06:22:22

转自:

MyBatis中如何实现一个分页功能呢?

分页可以毫不夸张的说:“是所有应用程序都必须拥有的操作模式”,那么MyBatis中如何实现一个数据库的分页取数据的功能呢?
下文将一一道来,如下所示:

实现思路:通过UserInfoMapper.xml中定义相应的sql脚本,
实现数据分页操作


例: UserInfoMapper中定义相应的方法

/**
*
* @param userInfo
* @param currentPageNo 起始位置
* @param pageSize      页面容量
* @return
*/
public List selectUserInfo(@Param("userInfo") UserInfo userInfo, @Param("from") Integer currentPageNo,@Param("pageSize") Integer pageSize);

UserInfoMapper.xml 中增加 limit 关键字,
SQL 映射代码

测试类

public static void main(String[] args) throws IOException {// 读取配置文件mybatis-config.xmlInputStream config = Resources.getResourceAsStream("mybatis-config.xml");// 根据配置文件构建SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(config);// 通过SqlSessionFactory创建SqlSessionSqlSession ss = ssf.openSession();UserInfo userInfo = new UserInfo();userInfo.setNotes("喜喜");Integer pageSize = 3;Integer currentPageNo = 0;List userList = new ArrayList();userList = ss.getMapper(UserInfoMapper.class).selectUserInfo(userInfo, currentPageNo, pageSize);for (UserInfo t : userList) {System.out.println(t);}
}

运行结果---
DEBUG [main] - ==> Preparing: SELECT id,name,notes FROM UserInfo where notes like concat ('%',?,'%') ORDER BY id limit ?,?
DEBUG [main] - ==> Parameters: 喜喜(String), 0(Integer), 3(Integer)
.....

相关内容

热门资讯

围绕“加大保障和改善民生力度,... 5月11日至15日,全国政协副主席周强率全国政协专题调研组,围绕“加大保障和改善民生力度,扎实推进全...
浙江省“爱在浙里”集体婚礼暨“...   5月16日,浙江省民政厅主办的浙江省“爱在浙里”集体婚礼暨“积极婚育观”宣传系列活动举行,杭州主...
打起手鼓唱起歌!第二届中国新疆... 来源:石榴云/新疆日报 5月15日,第二届中国新疆民间艺术季新闻发布会在乌鲁木齐市召开。本届艺术季将...
降雨推迟,预计20时前后影响北... 气象部门介绍,当前降雨主要出现在房山和门头沟。截至18时,全市平均降水量1.0毫米,最大降水量为房山...
“我真的撑不住了”,2000万... 5月14日、15日两天,知名搞笑博主“大连老湿王博文”,分别在微信公众号和小红书上发表长文,宣布断更...