1.mybatis中查询方式有3种

  1. //查询单个值
  2. @Test
  3. public void testFindOne()throws IOException{
  4. SqlSession session = MybatisUtil.getSqlSession();
  5. User user = (User)session.selectOne("cn.sxt.vo.UserMapper.findOne", 1);
  6. System.out.println(user);
  7. session.close();
  8. }
  9. //查询list
  10. @Test
  11. public void testFindAll() throws IOException{
  12. SqlSession session = MybatisUtil.getSqlSession();
  13. List<User> list = session.selectList("cn.sxt.vo.UserMapper.findAll");
  14. for(User u:list){
  15. System.out.println(u);
  16. }
  17. session.close();
  18. }
  19. //查询map
  20. @Test
  21. public void testFindMap()throws IOException{
  22. SqlSession session = MybatisUtil.getSqlSession();
  23. //selectMap 传递的参是 map集合的key值。
  24. Map map=session.selectMap("cn.sxt.vo.UserMapper.findMap", "name");
  25. for(Iterator iter=map.keySet().iterator();iter.hasNext();){
  26. Object key=iter.next();
  27. System.out.println(key+"---"+map.get(key));
  28. }
  29. session.close();
  30. }

映射文件

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="cn.sxt.vo.UserMapper">
  6. <!-- 查询单个对象 -->
  7. <select id="findOne" resultType="User">
  8. select * from t_user where id=#{id}
  9. </select>
  10. <!-- 查询list -->
  11. <select id="findAll" resultType="User">
  12. select * from t_user
  13. </select>
  14. <!-- 查询map -->
  15. <select id="findMap" resultType="Map">
  16. select * from t_user where id=1
  17. </select>
  18. <!--
  19. begin=(currentPage-1)*pageSize
  20. size=pageSize
  21. -->
  22. <select id="page1" resultType="User">
  23. select * from t_user limit #{begin},#{size}
  24. </select>
  25. <select id="pageRow" resultType="User">
  26. select * from t_user
  27. </select>
  28. </mapper>

2.分页

mybatis中有3种方式实现分页

映射文件

  1. <select id="page1" resultType="User">
  2. select * from t_user limit #{begin},#{size}
  3. </select>
  4. <select id="pageRow" resultType="User">
  5. select * from t_user
  6. </select>

代码

  1. //通过sql语句进行分页,参数传入的是对象
  2. @Test
  3. public void testPage() throws IOException{
  4. SqlSession session = MybatisUtil.getSqlSession();
  5. PageInfo pi = new PageInfo();
  6. pi.setBegin(3);
  7. pi.setSize(3);
  8. List<User> list = session.selectList("cn.sxt.vo.UserMapper.page1",pi);
  9. for(User u:list){
  10. System.out.println(u);
  11. }
  12. }
  13. //通过sql语句进行分页,参数传入的是map
  14. @Test
  15. public void testPage1() throws IOException{
  16. SqlSession session = MybatisUtil.getSqlSession();
  17. Map map = new HashMap();
  18. map.put("begin", 0);
  19. map.put("size", 3);
  20. List<User> list = session.selectList("cn.sxt.vo.UserMapper.page1",map);
  21. for(User u:list){
  22. System.out.println(u);
  23. }
  24. }
  25. //通过RowBounds来实现分页
  26. @Test
  27. public void testPage2() throws IOException{
  28. SqlSession session = MybatisUtil.getSqlSession();
  29. //第一个 参数 相当于index,第二个参数 每页显示记录数
  30. RowBounds bounds = new RowBounds(3, 3);
  31. List<User> list = session.selectList("cn.sxt.vo.UserMapper.pageRow",null,bounds);
  32. for(User u:list){
  33. System.out.println(u);
  34. }
  35. }

java之mybatis之查询及分页的更多相关文章

  1. Java基础-SSM之mybatis的统计函数和分页查询

    Java基础-SSM之mybatis的统计函数和分页查询 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  2. Oracle使用MyBatis中RowBounds实现分页查询

    Oracle中分页查询因为存在伪列rownum,sql语句写起来较为复杂,现在介绍一种通过使用MyBatis中的RowBounds进行分页查询,非常方便. 使用MyBatis中的RowBounds进行 ...

  3. SSM整合 mybatis多条件查询与分页

    多条件查询与分页: 通过页面的houseName.floorage获取值传到前端视图(HouseSearchVO)实体类中的houseName,floorage建立houseSearchVO对象. 通 ...

  4. Mybatis的插件 PageHelper 分页查询使用方法

    参考:https://blog.csdn.net/ckc_666/article/details/79257028 Mybatis的一个插件,PageHelper,非常方便mybatis分页查询,国内 ...

  5. Java之mybatis详解

    文章大纲 一.mybatis介绍二.mybatis代码实战三.项目源码下载四.参考文章   一.mybatis介绍 1. mybatis是什么?   mybatis是一个持久层的框架,是apache下 ...

  6. MyBatis Generator实现MySQL分页插件

    MyBatis Generator是一个非常方便的代码生成工具,它能够根据表结构生成CRUD代码,可以满足大部分需求.但是唯一让人不爽的是,生成的代码中的数据库查询没有分页功能.本文介绍如何让MyBa ...

  7. java:easyui(jQueryEasyUI,分页)

    1.介绍: jQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面.开发者不需要编写复杂的ja ...

  8. 九:SpringBoot-整合Mybatis框架,集成分页助手插件

    九:SpringBoot-整合Mybatis框架,集成分页助手插件 1.Mybatis框架 1.1 mybatis特点 1.2 适用场景 2.SpringBoot整合MyBatis 2.1 核心依赖 ...

  9. myBatis批量查询操作,xml中使用foreach案例

    使用场景:有一个订单表,实体类为OrderBase.java,订单有个状态为status值可能为"1,2,3,4,5,6",现在需要查询状态为"2,3,4"的订 ...

随机推荐

  1. 阿里P8架构师深度概述分布式架构

    简介 作为一名架构师,我们要专业,要能看懂代码,及时光着臂膀去机房,也能独挡一面!及时同事搞不定问题,或者撂挑子,你也能给老大一个坚定的眼神:不怕,有我在!还能在会议室上滔滔不绝,如若无人,让不懂技术 ...

  2. Delphi XE7并行编程: 并行For循环

    从Delphi XE7开始,引入了全新的并行编程库用于简化并行编程,它位于System.Threading单元中. 下面是一个判断素数的简单例子:function IsPrime (N: Intege ...

  3. asp.netCore3.0区域和路由配置变化

    一.MVC 服务注册 ASP.NET Core 3.0 添加了用于注册内部的 MVC 方案的新选项Startup.ConfigureServices.三个新的顶级扩展方法与 MVC 方案上IServi ...

  4. hbuilderx - 常用快捷键操作

    常用的操作有(缺少一个快捷键,就是选中行) 1. ctrl+/ 注释代码 2. ctrl+y 恢复撤销 3. ctrl+x 剪切 4. ctrl+z 撤销 5. ctrl+c 复制 6. ctrl+p ...

  5. systemctl enable rc-local.service error

    /******************************************************************************* * systemctl enable ...

  6. mac jq for json format

    mac jq #1.安装 brew install jq #2.创建文件 echo '{"name": "Ruby"}' > ./test.json #3 ...

  7. jsch channel is not opened原因及解决

    潜在原因1:服务器sshd限制,可通过如下解决: 潜在原因2:服务器负载过高,超时.在连接处增加超时时间session.setTimeout(60000);默认情况下,socket的超时时间大约为21 ...

  8. 三句话看明白jdk收费吗

    对于从oracle下载的jdk8:JDK8u200(含)以下版本不收费. 对于从oracle下载的jdk11:JDK 11.0.0不收费,JDK 11.0.1不收费. 对于openjdk:免费 ——— ...

  9. nsqphp源码分析(一)

    一.目录结构 二.

  10. 014-交互式Shell和shell脚本获取进程 pid

    Linux 的交互式 Shell 与 Shell 脚本存在一定的差异,主要是由于后者存在一个独立的运行进程 1.交互式 Bash Shell 获取进程 pid 在已知进程名(name)的前提下,交互式 ...