mybatis文件映射之select操作返回Map

1、返回的Map键为列所对应的名称,值就是具体的值

EmployeeMapper.java

public Map<String,Object> getEmpByIdReturnMap(Integer id);

EmployeeMapper.xml

    <select id="getEmpByIdReturnMap" resultType="map">
        select id,last_name lastName,gender,email from tbl_employee where id=#{id}
    </select>

注意返回值resultType直接写map即可,mybatis会自动进行映射。

输出:

{lastName=xiximayou, gender=1, id=1, [email protected]}

2、多条记录封装成一个Map,且键为主键的值,值为每条记录对应的值。

EmployeeMapper.java

    @MapKey("id")
    public Map<Integer,Object> getEmpByLastNameLikeReturnMap(String lastName);

需要告诉mybatis使用那个属性值作为键的值。

EmployeeMapper.xml

    <select id="getEmpByLastNameLikeReturnMap" resultType="com.gong.mybatis.bean.Employee">
        select id,last_name lastName,gender,email from tbl_employee where last_name like #{lastName}
    </select>

此时要返回的值是Map中存储的值的类型。

输出:

{1=Employee [id=1, lastName=xiximayou, gender=1, [email protected]]}

原文地址:https://www.cnblogs.com/xiximayou/p/12215805.html

时间: 2024-08-01 23:08:55

mybatis文件映射之select操作返回Map的相关文章

MyBatis XML 映射器 select、insert update 和 delete、参数

MyBatis 的真正强大在于它的语句映射,这是它的魔力所在. 如果跟JDBC 代码进行对比,省掉了将近 95% 的代码. 1 selectCREATE TABLE person (id int(11) NOT NULL AUTO_INCREMENT,username varchar(100) DEFAULT NULL,password varchar(100) DEFAULT NULL,full_name varchar(100) DEFAULT NULL,first_name varchar

mybatis文件映射之利用延迟加载解决collection分布查询(六)

Employee.java public class Employee { private Integer id; private String lastName; private String gender; private String email; Department dept; } Department.java public class Department { private Integer id; private String deptName; private List<Emp

mybatis文件映射之利用collection定义关联集合(五)

Employee.java public class Employee { private Integer id; private String lastName; private String gender; private String email; Department dept; } Department.java public class Department { private Integer id; private String deptName; private List<Emp

Mybatis返回Map的一种实现

Mybatis返回Map的一种实现 前言 在使用Mybatis进行系统开发的时候,有时候我们会有这么一种需求:我们希望通过Mybatis查询某一个表返回的结果是一个Map,而这个Map的Key是表的一个字段,Value是另一个字段.然而当我们按照Mybatis的做法,指定查询Mapper语句的resultType为map时返回的结果是一个Map列表(表中有多条记录时),而且每个元素Map对应的是表的一行记录(Key为每个字段的名称,Value为对应的值),这跟我们的需求是不相符合的.那有什么方法

Scala的映射和元组操作

映射和元组操作 构造Map // 构造一个不可变的MAP映射,类似与key -> value这样的组合叫做对偶 val score = Map("Jack" -> 12, "Bob" -> 20) // 也可以这种创建一个Map映射 val score1 = Map(("Jack", 12), ("Bob", 20)) // 根据key获取value,类似java中的map.get(key)若是获取一个不存在

MyBatis -- sql映射文件详解

MyBatis 真正的力量是在映射语句中.和对等功能的jdbc来比价,映射文件节省很多的代码量.MyBatis的构建就是聚焦于sql的. sql映射文件有如下几个顶级元素:(按顺序) cache配置给定命名空间的缓存. cache-ref从其他命名空间引用缓存配置. resultMap最复杂,也是最有力量的元素,用来描述如何从数据库结果集中来加载你的对象. parameterMap已经被废弃了!老式风格的参数映射.内联参数是首选,这个元素可能在将来被移除. sql可以重用的SQL块,也可以被其他

mybatis中映射文件和实体类的关联性

mybatis的映射文件写法多种多样,不同的写法和用法,在实际开发过程中所消耗的开发时间.维护时间有很大差别,今天我就把我认为比较简单的一种映射文件写法记录下来,供大家修改建议,争取找到一个最优写法~~: 以User对象和UserMap.xml为例讲解,代码如下: User为用户实体类(仅作为讲解,可以只关注引用类型变量,get/set方法省略): import com.google.common.collect.Lists; import com.gukeer.common.persisten

(十一)mybatis之映射器(select)

映射器 映射器的主要元素有八种: 元素名称 描述 select 查询语句,可自定义参数 insert 插入语句,执行后返回插入的条数 update 更新语句,执行后返回更新的条数 delete 删除语句,执行后返回删除的条数 sql 定义一部分的sql,被各处引用 resultMap 描述从数据库中得到的结果,提供映射规则 cache 给定命名空间的缓存配置 cache-ref 其他命名空间缓存配置的引用   select元素 ①   简单地应用查询的select元素: <select id =

MyBatis(3)-映射文件

本次博文有疑问,请先看MyBatis(1)-简单入门 和 MyBatis(2)-全局配置文件! 如在有疑问,请留言或者咨询博主,博主每天都在!谢谢! 映射文件: 主要是在xxxmapper.xml文件里的配置 映射文件指导这MyBatis如何进行数据库的增删该查,有着很重要的意义. 下面开始进入正题,最后会发一个完整版的代码 因为实现的主要内容是增删改查,所以我们现在接口类中定义好相关的方法,后面不在进行单一的定义! 工程的目录如下: EmployeeMapper.java package co