MyBatis的返回参数类型分两种

1. 对应的分类为:

1.1.resultMap:

1.2.resultType:

2 .对应返回值类型:

2.1.resultMap:结果集

2.2.resultType:int,string ,long ,class

遇到一个问题,在返回Map类型时候没有解析正确,不得不返回一个JavaBean,趁着有空,重新看了下,现在可以用Mybatis返回Map,List<Map>了 。

返回Map,Mybatis配置如下 :

<select id="getCountyHashMap" resultType="java.util.HashMap">
select name,id from
tsql_test_region where
id=#{id}
</select>

ServiceImpl如下 :

public Map<String, Long> getCountyHashMap(long id) {
Map<String, Object> regionMap = regionInfoMapper.getCountyHashMap(id);
Map<String, Long> resultMap = new HashMap<String, Long>();
String region = null;
Long vid = null;
for (Map.Entry<String, Object> entry : regionMap.entrySet()) {
if ("NAME".equals(entry.getKey())) {
region = (String) entry.getValue();
} else if ("ID".equals(entry.getKey())) {
vid = ((java.math.BigDecimal) entry.getValue()).longValue();
}
}
resultMap.put(region, vid);
return resultMap;
}

Controller如下 :

@RequestMapping(value = "/region3", method = RequestMethod.GET)
public @ResponseBody
Map<String, Long> getCountyMap(@RequestParam(required = true) int regionId) {
return regionInfoService.getCountyHashMap(regionId);
}

结果为 :

     返回List<Map>类似 :

Mybatis配置 :

<select id="getRegionHashMap" resultType="java.util.HashMap">
select name,id from
tsql_test_region order by id
</select>

ServiceImpl如下 :

public Map<String, Long> getRegionHashMap() {
List<Map<String, Object>> regionMap = regionInfoMapper
.getRegionHashMap();
Map<String, Long> resultMap = new HashMap<String, Long>();
for (Map<String, Object> map : regionMap) {
String region = null;
Long id = null;
for (Map.Entry<String, Object> entry : map.entrySet()) {
if ("NAME".equals(entry.getKey())) {
region = (String) entry.getValue();
} else if ("ID".equals(entry.getKey())) {
id = ((java.math.BigDecimal) entry.getValue()).longValue();
}
}
resultMap.put(region, id);
}
return resultMap;
}

Controller如下 :

@RequestMapping(value = "/region2", method = RequestMethod.GET)
public @ResponseBody
Map<String, Long> getRegionMap() {
return regionInfoService.getRegionHashMap();
}

结果为 :

      本文系原创,转载请注明出处,谢谢 。

MyBatis的返回参数类型和查询结果遍历的更多相关文章

  1. MyBatis的返回参数类型

    MyBatis的返回参数类型分两种 1. 对应的分类为: 1.1.resultMap: 1.2.resultType: 2 .对应返回值类型: 2.1.resultMap:结果集 2.2.result ...

  2. EF Core使用SQL调用返回其他类型的查询 ASP.NET Core 2.0 使用NLog实现日志记录 CSS 3D transforms cSharp:use Activator.CreateInstance with an Interface? SqlHelper DBHelper C# Thread.Abort方法真的让线程停止了吗? 注意!你的Thread.Abort方法真

    EF Core使用SQL调用返回其他类型的查询   假设你想要 SQL 本身编写,而不使用 LINQ. 需要运行 SQL 查询中返回实体对象之外的内容. 在 EF Core 中,执行该操作的另一种方法 ...

  3. mybatis配置-返回date类型丢失时间

    此博客仅作于平时开发所遇到的问题记录,不做他用,描述可能不好,自己看懂即可~~ resultMap配置返回时间类型时,发现数据库时间是精确到秒的,但是返回给javabean之后丢失时分秒的信息,只有日 ...

  4. mybatis 保存对象 参数类型

    简单介绍:保存单个对象 ,参数类型的设置,正常的话应该设置成对应的pojo,我想起了以前,不懂事时候的一个做法,其实那时候刚接触到mabatis,做新增的时候,直接就是把需要插入表中的值,放到map里 ...

  5. EF Core使用SQL调用返回其他类型的查询

    假设你想要 SQL 本身编写,而不使用 LINQ. 需要运行 SQL 查询中返回实体对象之外的内容. 在 EF Core 中,执行该操作的另一种方法是编写 ADO.NET 代码,并从 EF 获取数据库 ...

  6. MyBatis探究-----返回Map类型数据

    1.使用@MapKey @MapKey:告诉mybatis封装Map的时候使用哪个属性作为Map的key Map<K, V>:键是这条记录的主键key,值是记录封装后的javaBean 1 ...

  7. python限定方法参数类型、返回值类型、变量类型等

    typing模块的作用 自python3.5开始,PEP484为python引入了类型注解(type hints) 类型检查,防止运行时出现参数和返回值类型.变量类型不符合. 作为开发文档附加说明,方 ...

  8. MyBatis查询结果resultType返回值类型详细介绍

    一.返回一般数据类型 比如要根据 id 属性获得数据库中的某个字段值. mapper 接口: // 根据 id 获得数据库中的 username 字段的值 String getEmpNameById( ...

  9. MyBatis中Mapper的返回值类型

    insert.update.delete语句的返回值类型 对数据库执行修改操作时,数据库会返回受影响的行数. 在MyBatis(使用版本3.4.6,早期版本不支持)中insert.update.del ...

随机推荐

  1. ajax基本用法

    ajax能做到无刷新数据交互,给用户体验带来好处的同时也减小了服务器的压力,所以运用ajax能使网站性能更强劲.更吸引用户. 大型网站少不了注册页面,而大多数情况下我们不想让用户有相同的注册ID,所以 ...

  2. libSVM的数据格式

    首先介绍一下 libSVM的数据格式 Label 1:value 2:value -. Label:是类别的标识,比如上节train.model中提到的1 -1,你可以自己随意定,比如-10,0,15 ...

  3. linux下调整音量大小

    不得不说,在linux下整音频和视频真是不容易.在windows中自带了关于音频和视频的工具,在linux下要两眼一抹黑地使用命令进行操作. 主要还是在linux下没找到合适的gui的调整工具. 几番 ...

  4. x3270: PCOM的替代品

    在Linux上登录Mainframe的利器,而且也是PCOM的免费版.原来没有仔细研究,今天花了一些时间学习,确实能满足基本的要求: x3270的Homepage  看一下Release Note, ...

  5. java中的拷贝(二)深克隆

    浅拷贝(Object类中的clone()方法)是指在拷贝对象时,对于基本数据类型的变量会重新复制一份,而对于引用类型的变量只是对引用进行拷贝. 深拷贝(或叫深克隆) 则是对对象及该对象关联的对象内容, ...

  6. 系统上线后WCF服务最近经常死掉的原因分析总结

    前言 最近系统上线完修改完各种bug之后,功能上还算是比较稳定,由于最近用户数的增加,不知为何经常出现无法登录.页面出现错误等异常,后来发现是由于WCF服务时不时的就死掉了.后来就开始分析问题.得到的 ...

  7. Delphi Xe 中如何把日期格式统一处理,玩转 TDatetime

    日期格式的处理总是会很复杂,因为不同的环境日 期格式也不一样.为了程序统一处理,  最好把格式给统一了: 可以在程序的初始化段: FormatSettings.ShortDateFormat := ' ...

  8. Backup: Array in Perl6

    Array in Perl6 继承List,而List又继承Iterable,Positional,Cool ARRAY.pop ARRAY.shift ARRAY.push: VALUES ARRA ...

  9. crontab实现每秒执行

    crontab: #!/bin/bash step=$1 #每多少秒执行一次 ; i < ; i=(i+step) )); do date +%Y%m%d' '%H:%M:%S >> ...

  10. Readonly和disabled的区别 display:none和visible:hidden的区别

    怎样使input中的内容为只读,也就是说不让用户更改里面的内容. <input type="text" name="input1" value=" ...