mybatis 查询单个对象,结果集类型一定要明确
简单介绍:用ssm框架已经有很长时间了,但是似乎从来都没有对于查询单个对象,存在问题的,好像也就是那回事,写完sql就查出来了,也从来都没有认真的想过,为什么会这样,为什么要设置结果集类型
代码:
//service层代码
ContractVo contractObj = (ContractVo)dao.findForObject("ContractMapper.getContractObj",contractId); //Model对象
@Alias("ContractVo")
@Getter
@Setter
public class Contract {
private String contractId;
private String contractNumber;
private String contractType;
private String contractStatus;
private String startTime;
private String endTime;
private String regularAgency;
} //mapper里的sql相关
<resultMap id="ContractVoResultMap" type="ContractVo">
<result column="contract_id" property="contractId" jdbcType="CHAR"/>
<result column="contract_number" property="contractNumber" jdbcType="VARCHAR"/>
<result column="contract_type" property="contractType" jdbcType="VARCHAR"/>
<result column="contract_status" property="contractStatus" jdbcType="VARCHAR"/>
<result column="start_time" property="startTime" jdbcType="Date"/>
<result column="end_time" property="endTime" jdbcType="Date"/>
<result column="regular_agency" property="regularAgency" jdbcType="VARCHAR"/>
</resultMap> <select id="getContractObj" parameterType="String" resultMap="ContractVoResultMap">
select
<include refid="FieldOne"></include>
from
<include refid="tableName"></include>
where contract_id = #{contractId}
</select> <!--字段-->
<sql id="FieldOne">
contract_id,
contract_number,
contract_type,
contract_status,
start_time,
end_time,
regular_agency
</sql> <!--表名 -->
<sql id="tableName">
t_contract
</sql>
说明:为什么要设置resultMap ,是为了指定sql输出结果所映射的java对象类型,这里select指定resultType表示单条记录所映射成的java对象,也许你会觉得在mapper 文件里配置映射pojo (resultMap-->type="ContractVo"),看着比较生疏,其实和下边的图一个道理。

mybatis 查询单个对象,结果集类型一定要明确的更多相关文章
- 在hibernate中查询单个对象的方法,get()、load()、
查询单个对象可以直接通过Session对象来做到,其中session这个对象提过了2种获得单个对象的方法,一个是get方法和load方法,我去看这个两个方法的时候发现这两个方法的参数是一样的,使用方式 ...
- MyBatis查询结果resultType返回值类型详细介绍
一.返回一般数据类型 比如要根据 id 属性获得数据库中的某个字段值. mapper 接口: // 根据 id 获得数据库中的 username 字段的值 String getEmpNameById( ...
- mybatis查询如何返回List<Map>类型数据
只要设定resultType而不设定resultMap就可以了: <selectid="selectByPage"parameterType="java.uti ...
- ResultMap和ResultType在使用中的区别、MyBatis中Mapper的返回值类型
在使用mybatis进行数据库连接操作时对于SQL语句返回结果的处理通常有两种方式,一种就是resultType另一种就是resultMap,下面说下我对这两者的认识和理解 resultType:当使 ...
- SAP CRM 集类型(Set Type)与产品层次(Product Hierarchy)
本文是产品与对象相关的部分SAP文档的翻译,不包含配置部分. 本文链接:https://www.cnblogs.com/hhelibeb/p/10112723.html 1,对象(Objects) 对 ...
- mybatis多表关联查询之resultMap单个对象
resultMap的n+1方式实现多表查询(多对一) 实体类 创建班级类(Clazz)和学生类(Student),并在Student中添加一个Clazz类型的属性,用于表示学生的班级信息. mappe ...
- HQL查询——查询返回对象类型分析
关于HQL查询,我们可以结合hibernate的API文档,重点围绕org.hibernate.Query接口,分析其方法,此接口的实例对象是通过通过session.对象的creatQuery(Str ...
- JPA查询单个字段和多个字段返回类型总结
原文地址:https://blog.csdn.net/weixin_40326509/article/details/80865646 在使用springboot中,需要使用JPQL和SQL去查询记录 ...
- Spring之jdbcTemplate:查询的三种方式(单个值、单个对象、对象集合)
JdbcTemplateDemo2.java package helloworld.jdbcTemplate; import org.springframework.jdbc.core.JdbcTem ...
随机推荐
- Linux centos7.5操作系统的安装
安装centos7.5 1.1 新建虚拟机 1.2 选择客户机系统和版本 1.3 更改虚拟机名称和创建地址. 1.4 选择网络类型 1.5 自定义硬件,选择添加centos7.5镜像 1.6 开机 ...
- ckeditor,关于数据回显
- Javaweb项目 利用JSP响应浏览器
一.javaweb 数据访问流程? 1.浏览器 http 访问服务器 找到 servlet(HttpServeltDemo.java文件) 2.servle 通过dao 访问数据库 数据库将数据返回 ...
- webBrowser兼容
using Microsoft.Win32; using System; using System.Collections.Generic; using System.ComponentModel; ...
- bugku web web基础
web基础$_GET $what=$_GET['what'];echo $what;if($what=='flag')echo 'flag{****}'; 看了这段代码知道,需要用get提交what= ...
- Redis DeskTop Manager 使用教程
redis desktop manager windows 是一款能够跨平台使用的开源性redis可视化工具. redis desktop manager主要针对redis开发设计,拥有直观强大的可视 ...
- hdu 5536 Chip Factory (01 Trie)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5536 题面; Chip Factory Time Limit: 18000/9000 MS (Java/O ...
- Hdoj 1847.Good Luck in CET-4 Everybody! 题解
Problem Description 大学英语四级考试就要来临了,你是不是在紧张的复习?也许紧张得连短学期的ACM都没工夫练习了,反正我知道的Kiki和Cici都是如此.当然,作为在考场浸润了十几载 ...
- 栈&队列
队列部分 普通队列 举个形象的例子:排队买票. 有一列人在排队买票,前面来的人买完票就离开,后面来的人需要站在最后--依次类推. 在计算机中,数据结构队列有一个头指针和尾指针,头指针加一就代表有一个数 ...
- xshell连接ubuntu系统
1.登录虚拟机 2.关闭本机所有防火墙和杀毒软件 sudo ufw status 查看防火墙状态 sudo ufw disable 关闭防火墙 sudo ufw enable 打开防火墙 3.安装ss ...