文章目录

  • 1、mybatis返回map单条记录
    • 1)、EmployeeMapper接口
    • 2)、EmployeeMapper.xml
    • 3)、Test
    • 4)、测试结果
  • 2、mybatis返回map多条记录
    • 5)、EmployeeMapper
    • 6)、EmployeeMapper.xml
    • 7)、Test
    • 8)、测试结果

1、mybatis返回map单条记录

1)、EmployeeMapper接口

package com.mi.dao;import com.mi.pojo.Employee;
import org.apache.ibatis.annotations.Param;import java.util.List;
import java.util.Map;public interface EmployeeMapper {//返回Map,key就是列名,value就是对应的值public Map<String,Object> getEmployeeMapById(Integer id);
}

2)、EmployeeMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--指定为接口的全类名-->
<mapper namespace="com.mi.dao.EmployeeMapper"><!--返回Map--><select id="getEmployeeMapById" resultType="map">select * from employee where id = #{id}</select></mapper>

3)、Test

@Testpublic void testGetMapById() throws IOException {//1、获取SqlSessionFactory对象SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();//2、获取Sqlsesion对象SqlSession sqlSession = sqlSessionFactory.openSession();try {//3、获取接口的实现类对象//会为接口自动创建一个代理对象,代理对象去执行增删改查方法EmployeeMapper mapper = sqlSession.getMapper(EmployeeMapper.class);Map map = mapper.getEmployeeMapById(3);System.out.println(map);}finally {sqlSession.close();}}

4)、测试结果

{gender=0, last_name=jerry, id=3}

2、mybatis返回map多条记录

文章目录

  • 1、mybatis返回map单条记录
    • 1)、EmployeeMapper接口
    • 2)、EmployeeMapper.xml
    • 3)、Test
    • 4)、测试结果
  • 2、mybatis返回map多条记录
    • 5)、EmployeeMapper
    • 6)、EmployeeMapper.xml
    • 7)、Test
    • 8)、测试结果

5)、EmployeeMapper

package com.mi.dao;import com.mi.pojo.Employee;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;import java.util.List;
import java.util.Map;public interface EmployeeMapper {//返回多条记录封装成一个map,key是这条记录的主键,value是记录封装后的javabean//告诉mybatis封装这个map的时候使用哪个属性作为主键@MapKey("id")public Map<Integer,Employee> getEmployeeMapByName(String lastName);
}

6)、EmployeeMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--指定为接口的全类名-->
<mapper namespace="com.mi.dao.EmployeeMapper"><!--返回多条Map记录--><select id="getEmployeeMapByName" resultType="com.mi.pojo.Employee">select * from employee where last_name like #{lastName}</select></mapper>

7)、Test

 @Testpublic void getEmployeeMapByName() throws IOException {//1、获取SqlSessionFactory对象SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();//2、获取Sqlsesion对象SqlSession sqlSession = sqlSessionFactory.openSession();try {//3、获取接口的实现类对象//会为接口自动创建一个代理对象,代理对象去执行增删改查方法EmployeeMapper mapper = sqlSession.getMapper(EmployeeMapper.class);Map map = mapper.getEmployeeMapByName("%e%");System.out.println(map);}finally {sqlSession.close();}}

8)、测试结果

{3=Employee{id=3, lastName='jerry', gender='0'}, 4=Employee{id=4, lastName='kite', gender='1'}}Process finished with exit code 0

12、mybatis返回map单条及多条记录相关推荐

  1. Mybatis返回Map的一种实现

    Mybatis返回Map的一种实现 前言 在使用Mybatis进行系统开发的时候,有时候我们会有这么一种需求:我们希望通过Mybatis查询某一个表返回的结果是一个Map,而这个Map的Key是表的一 ...

  2. java mybatis 返回map_mybatis返回map集合的格式是什么?mybatis返回map集合实例

    Mybatis因为会与数据库交互,所以经常会有返回map集合的场景,那一般mybatis返回map集合的格式是什么呢?下面小编就用一些实例与你分享分享吧. 例1:返回key不定:返回key为学员id, ...

  3. HIve分组查询返回每组的一条记录

    select a.lng,a.lat from (select row_number() over ( partition by uid,grid_id) as rnum,weighted_centr ...

  4. Mybatis返回Map

    返回一条记录的map resultType="map"   key就是列名,值就是对应的值 多条记录封装成一个map Select返回类型中是返回Map时,是对方法中是否存在注解@ ...

  5. SQL 如何返回最大值所在的多条记录

    SQL 中通过 top 或 limit 子句得到第一条数据不难,再配合排序,就能得到最大的那一行: select top 1 * from T order by f desc 如果最大值有多条记录,想 ...

  6. mybatis返回map键值对_mybatis返回map结果集怎么配置

    匿名用户 1级 2018-06-10 回答 一.概述 MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返 ...

  7. mybatis返回map键值对_mybatis返回map key怎么指定

    展开全部 一.概述 MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返回类型的,而resultMap则是 ...

  8. mybatis返回map操作

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...

  9. 若依mybatis返回map将下划线命名转为驼峰式命名

    默认情况,若依不支持这个配置,需要我们重写配置类才能到达需求. 目录 一.需求情景复现 二.重写配置类 (1)导入guava依赖 (2)  编写配置类

最新文章

  1. BOM字符(#8203;)转textNode对象
  2. windowserver2008官方不提供POP3服务
  3. shell脚本第一篇——自定义创建用户和批量创建用户
  4. 常见的 OOM 原因及其解决方法(OutOfMemoryError)
  5. 你需要来自trustedinstaller的权限才能删除_一文详解To B权限设计
  6. 5二代配什么主板最好_新教育5:父母什么时间陪伴孩子最好
  7. Filmage Screen for Mac 专业录屏软件用这个就足够
  8. 淘宝(taobao)HSF框架
  9. 虚拟机迁移Sphere vMotion
  10. 教你10分钟组装台式电脑
  11. WebGL着色器变量(attribute、uniform和varying)
  12. CentOS7常见问题
  13. 重名困扰探究系列之二账户号与登录方式 中
  14. 达梦数据库除法保留小数
  15. cuil:吹牛营销大师
  16. 教师节:这才是真正的老师
  17. error: expected ‘}’ at end of input的一种可能解决方法
  18. php oracle 傻瓜安装,PHP安装Oracle扩展[重新整理]
  19. 【洛谷3110】【USACO14DEC】驮运Piggy Back
  20. CSDN【精品专栏】第24期

热门文章

  1. c语言考试算法,c语言考试常用算法docx.docx
  2. QSettings allKeys读取为空分析
  3. vmware14/15 安装Ubuntu12.04 图文八步法
  4. Perl 正则表达式 html,使用正则表达式验证表单中的HTML字段使用perl
  5. 阻止计算机访问注册表,电脑怎么样防止注册表被强行的篡改,保护电脑安全
  6. java参数注解pam_java – 使用xmlelement defaultvalue注释指定默认值的简单方法
  7. 鸿蒙系统手机用户体验,鸿蒙系统真的来了!用户体验流畅度远超安卓,任正非扳回一城!...
  8. php向数据库添加数据失败,无法从PHP中的表单向数据库添加数据
  9. arm linux考勤,定稿毕业论文_基于ARM与Linux的员工刷卡考勤系统喜欢就下吧(范文1)...
  10. 显卡、显卡驱动、cuda 之间的关系是什么?