java之mybatis之查询及分页
1.mybatis中查询方式有3种
//查询单个值
@Test
public void testFindOne()throws IOException{
SqlSession session = MybatisUtil.getSqlSession();
User user = (User)session.selectOne("cn.sxt.vo.UserMapper.findOne", 1);
System.out.println(user);
session.close();
}
//查询list
@Test
public void testFindAll() throws IOException{
SqlSession session = MybatisUtil.getSqlSession();
List<User> list = session.selectList("cn.sxt.vo.UserMapper.findAll");
for(User u:list){
System.out.println(u);
}
session.close();
}
//查询map
@Test
public void testFindMap()throws IOException{
SqlSession session = MybatisUtil.getSqlSession();
//selectMap 传递的参是 map集合的key值。
Map map=session.selectMap("cn.sxt.vo.UserMapper.findMap", "name");
for(Iterator iter=map.keySet().iterator();iter.hasNext();){
Object key=iter.next();
System.out.println(key+"---"+map.get(key));
}
session.close();
}
映射文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.sxt.vo.UserMapper">
<!-- 查询单个对象 -->
<select id="findOne" resultType="User">
select * from t_user where id=#{id}
</select>
<!-- 查询list -->
<select id="findAll" resultType="User">
select * from t_user
</select>
<!-- 查询map -->
<select id="findMap" resultType="Map">
select * from t_user where id=1
</select>
<!--
begin=(currentPage-1)*pageSize
size=pageSize
-->
<select id="page1" resultType="User">
select * from t_user limit #{begin},#{size}
</select>
<select id="pageRow" resultType="User">
select * from t_user
</select>
</mapper>
2.分页
mybatis中有3种方式实现分页
映射文件
<select id="page1" resultType="User">
select * from t_user limit #{begin},#{size}
</select>
<select id="pageRow" resultType="User">
select * from t_user
</select>
代码
//通过sql语句进行分页,参数传入的是对象
@Test
public void testPage() throws IOException{
SqlSession session = MybatisUtil.getSqlSession();
PageInfo pi = new PageInfo();
pi.setBegin(3);
pi.setSize(3);
List<User> list = session.selectList("cn.sxt.vo.UserMapper.page1",pi);
for(User u:list){
System.out.println(u);
}
}
//通过sql语句进行分页,参数传入的是map
@Test
public void testPage1() throws IOException{
SqlSession session = MybatisUtil.getSqlSession();
Map map = new HashMap();
map.put("begin", 0);
map.put("size", 3);
List<User> list = session.selectList("cn.sxt.vo.UserMapper.page1",map);
for(User u:list){
System.out.println(u);
}
}
//通过RowBounds来实现分页
@Test
public void testPage2() throws IOException{
SqlSession session = MybatisUtil.getSqlSession();
//第一个 参数 相当于index,第二个参数 每页显示记录数
RowBounds bounds = new RowBounds(3, 3);
List<User> list = session.selectList("cn.sxt.vo.UserMapper.pageRow",null,bounds);
for(User u:list){
System.out.println(u);
}
}
java之mybatis之查询及分页的更多相关文章
- Java基础-SSM之mybatis的统计函数和分页查询
Java基础-SSM之mybatis的统计函数和分页查询 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.
- Oracle使用MyBatis中RowBounds实现分页查询
Oracle中分页查询因为存在伪列rownum,sql语句写起来较为复杂,现在介绍一种通过使用MyBatis中的RowBounds进行分页查询,非常方便. 使用MyBatis中的RowBounds进行 ...
- SSM整合 mybatis多条件查询与分页
多条件查询与分页: 通过页面的houseName.floorage获取值传到前端视图(HouseSearchVO)实体类中的houseName,floorage建立houseSearchVO对象. 通 ...
- Mybatis的插件 PageHelper 分页查询使用方法
参考:https://blog.csdn.net/ckc_666/article/details/79257028 Mybatis的一个插件,PageHelper,非常方便mybatis分页查询,国内 ...
- Java之mybatis详解
文章大纲 一.mybatis介绍二.mybatis代码实战三.项目源码下载四.参考文章 一.mybatis介绍 1. mybatis是什么? mybatis是一个持久层的框架,是apache下 ...
- MyBatis Generator实现MySQL分页插件
MyBatis Generator是一个非常方便的代码生成工具,它能够根据表结构生成CRUD代码,可以满足大部分需求.但是唯一让人不爽的是,生成的代码中的数据库查询没有分页功能.本文介绍如何让MyBa ...
- java:easyui(jQueryEasyUI,分页)
1.介绍: jQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面.开发者不需要编写复杂的ja ...
- 九:SpringBoot-整合Mybatis框架,集成分页助手插件
九:SpringBoot-整合Mybatis框架,集成分页助手插件 1.Mybatis框架 1.1 mybatis特点 1.2 适用场景 2.SpringBoot整合MyBatis 2.1 核心依赖 ...
- myBatis批量查询操作,xml中使用foreach案例
使用场景:有一个订单表,实体类为OrderBase.java,订单有个状态为status值可能为"1,2,3,4,5,6",现在需要查询状态为"2,3,4"的订 ...
随机推荐
- Mongoose 索引
Mongoose 索引介绍 索引是对数据库表中一列或多列的值进行排序的一种结构,可以让我们查询数据库变得更 快(如果有些字段是用不着的就不要设置索引).MongoDB 的索引几乎与传统的关系型数据库一 ...
- [技术博客]React Native——HTML页面代码高亮&数学公式解析
问题起源 原有博文显示时代码无法高亮,白底黑字的视觉效果不好. 原有博文中无法解析数学公式,导致页面会直接显示数学公式源码. 为了解决这两个问题,尝试了一些方法,最终利用开源类库实现了页面美化. (失 ...
- Spark2.x(六十一):在Spark2.4 Structured Streaming中Dataset是如何执行加载数据源的?
本章主要讨论,在Spark2.4 Structured Streaming读取kafka数据源时,kafka的topic数据是如何被执行的过程进行分析. 以下边例子展开分析: SparkSession ...
- Oracle 日期各个部分常用写法
--1.日期的各部分的常用的的写法 --- --1) 取时间点的年份的写法: SELECT TO_CHAR(SYSDATE,'YYYY') FROM DUAL; --结果:2019 --2) 取时间点 ...
- 【推荐】安卓模板项目AndroidProject
[推荐]安卓模板项目AndroidProject https://github.com/getActivity/AndroidProject 安卓架构 博客地址:但愿人长久,搬砖不再有 当我们日复一日 ...
- UICachedDeviceRGBColor CGImage]: unrecognized selector sent to instance 0xxxxxxxxxxx'
UICachedDeviceRGBColor CGImage]: unrecognized selector sent to instance 0xxxxxxxxxxx' 报错原因是 本来应该写空间的 ...
- Spring-boot +Shiro 导致事务无效
今天在开发过程中,遇到一个情况,就是事务事务,同项目的别的service都在事务中,可以就是有一个事务失效. 排除了各种情况 1.检查数据库的引擎是否是innoDB 2.方法是否为public 3.这 ...
- 编写基于TCP的应用程序
编写基于TCP的应用程序 这似乎是一个非常简单的话题, 就跟"是个人就能做网站"一样, 你可能也认为"是个人就能写使用TCP socket的网络程序". 不 ...
- notepad++去掉红色波浪线
1 在notepad++的首页上找到插件菜单,并点击打开插件设置的下拉菜单. 2 下拉菜单中有一个菜单项是DSpellCheck,这个菜单项的子项中有一项是Spell Check Document ...
- Elasticsearch6.2.1安装elasticsearch-sq插件
参考 https://github.com/NLPchina/elasticsearch-sql 1.下载插件 wget https://github.com/NLPchina/elasticsear ...