MyBatis的返回参数类型和查询结果遍历
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的返回参数类型和查询结果遍历的更多相关文章
- MyBatis的返回参数类型
MyBatis的返回参数类型分两种 1. 对应的分类为: 1.1.resultMap: 1.2.resultType: 2 .对应返回值类型: 2.1.resultMap:结果集 2.2.result ...
- 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 中,执行该操作的另一种方法 ...
- mybatis配置-返回date类型丢失时间
此博客仅作于平时开发所遇到的问题记录,不做他用,描述可能不好,自己看懂即可~~ resultMap配置返回时间类型时,发现数据库时间是精确到秒的,但是返回给javabean之后丢失时分秒的信息,只有日 ...
- mybatis 保存对象 参数类型
简单介绍:保存单个对象 ,参数类型的设置,正常的话应该设置成对应的pojo,我想起了以前,不懂事时候的一个做法,其实那时候刚接触到mabatis,做新增的时候,直接就是把需要插入表中的值,放到map里 ...
- EF Core使用SQL调用返回其他类型的查询
假设你想要 SQL 本身编写,而不使用 LINQ. 需要运行 SQL 查询中返回实体对象之外的内容. 在 EF Core 中,执行该操作的另一种方法是编写 ADO.NET 代码,并从 EF 获取数据库 ...
- MyBatis探究-----返回Map类型数据
1.使用@MapKey @MapKey:告诉mybatis封装Map的时候使用哪个属性作为Map的key Map<K, V>:键是这条记录的主键key,值是记录封装后的javaBean 1 ...
- python限定方法参数类型、返回值类型、变量类型等
typing模块的作用 自python3.5开始,PEP484为python引入了类型注解(type hints) 类型检查,防止运行时出现参数和返回值类型.变量类型不符合. 作为开发文档附加说明,方 ...
- MyBatis查询结果resultType返回值类型详细介绍
一.返回一般数据类型 比如要根据 id 属性获得数据库中的某个字段值. mapper 接口: // 根据 id 获得数据库中的 username 字段的值 String getEmpNameById( ...
- MyBatis中Mapper的返回值类型
insert.update.delete语句的返回值类型 对数据库执行修改操作时,数据库会返回受影响的行数. 在MyBatis(使用版本3.4.6,早期版本不支持)中insert.update.del ...
随机推荐
- snmp getTable demo :iftable ipAddresstable
package org.huangxf.snmp.test; import java.io.IOException; import java.util.List; import org.snmp4j. ...
- Verilog中的specify block和timing check
在ASIC设计中,有两种HDL construct来描述delay信息: 1)Distributed delays:通过specify event经过gates和nets的time,来描述delay; ...
- Logic BIST
Logic BIST is crucial for many applications, in particular for life-critical and mission-critical ap ...
- [经典php视频]构建正则表达式解析网页中的图像标记<img>
这是高洛峰php视频中的一段,视频中一边分析需要的功能,一边构建greg_match函数的参数,边讲解边实战,是非常好的一种构建功能的演示. 你不可能把浩瀚的IT资料都记在脑袋里,也不可能随时随地透过 ...
- GLSL第一个程序
拿出来直接运行即可,可以直接理解什么是GLSL,之所以贴出来是因为很多文章写得乱七八糟,一面解释,一面贴代码,有必要吗??很多GLSL电子书都有很详细的解释的. 我的OpenGL框架代码可能和你的框架 ...
- 狗屁不通的“视频专辑:零基础学习C语言(小甲鱼版)”(2)
前文链接:狗屁不通的“视频专辑:零基础学习C语言(小甲鱼版)”(1) 小甲鱼在很多情况下是跟着谭浩强鹦鹉学舌,所以谭浩强书中的很多错误他又重复了一次.这样,加上他自己的错误,错谬之处难以胜数. 由于拙 ...
- 【GDI+】 线段 文字 定位的问题
遇到一个看起来很简单的问题: 给定两个点,和一组文字,希望文字显示在线的附近并且居中显示.期望像这样的效果 进一步的抽象是: 1.根据文字的长度和高度,以及两个点,来获得文字的定位点(左上角点)的 2 ...
- UINavigationController详解一(转)UIBarButtonItem
本文出自:http://www.cnblogs.com/smileEvday/archive/2012/05/14/2495153.html 特别感谢. 1.UINavigationControlle ...
- UISlider控件属性及方法(转)
初始化一个Slider UISlider *slider = [[UISlider alloc]initWithFrame:CGRectMake(0, 400,320 , 20)]; 访问UI ...
- Delphi XE的firemonkey获取当前文件所在路径的方法
Delphi XE的firemonkey获取当前文件所在路径的方法 在之前,我们知道有三种方法: ExtractFilePath(ParamStr(0)) ExtractFilePath(Applic ...