简单介绍:用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 查询单个对象,结果集类型一定要明确的更多相关文章

  1. 在hibernate中查询单个对象的方法,get()、load()、

    查询单个对象可以直接通过Session对象来做到,其中session这个对象提过了2种获得单个对象的方法,一个是get方法和load方法,我去看这个两个方法的时候发现这两个方法的参数是一样的,使用方式 ...

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

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

  3. mybatis查询如何返回List<Map>类型数据

    只要设定resultType而不设定resultMap就可以了:   <selectid="selectByPage"parameterType="java.uti ...

  4. ResultMap和ResultType在使用中的区别、MyBatis中Mapper的返回值类型

    在使用mybatis进行数据库连接操作时对于SQL语句返回结果的处理通常有两种方式,一种就是resultType另一种就是resultMap,下面说下我对这两者的认识和理解 resultType:当使 ...

  5. SAP CRM 集类型(Set Type)与产品层次(Product Hierarchy)

    本文是产品与对象相关的部分SAP文档的翻译,不包含配置部分. 本文链接:https://www.cnblogs.com/hhelibeb/p/10112723.html 1,对象(Objects) 对 ...

  6. mybatis多表关联查询之resultMap单个对象

    resultMap的n+1方式实现多表查询(多对一) 实体类 创建班级类(Clazz)和学生类(Student),并在Student中添加一个Clazz类型的属性,用于表示学生的班级信息. mappe ...

  7. HQL查询——查询返回对象类型分析

    关于HQL查询,我们可以结合hibernate的API文档,重点围绕org.hibernate.Query接口,分析其方法,此接口的实例对象是通过通过session.对象的creatQuery(Str ...

  8. JPA查询单个字段和多个字段返回类型总结

    原文地址:https://blog.csdn.net/weixin_40326509/article/details/80865646 在使用springboot中,需要使用JPQL和SQL去查询记录 ...

  9. Spring之jdbcTemplate:查询的三种方式(单个值、单个对象、对象集合)

    JdbcTemplateDemo2.java package helloworld.jdbcTemplate; import org.springframework.jdbc.core.JdbcTem ...

随机推荐

  1. vue非父子组件之间的通信

    https://www.cnblogs.com/chengduxiaoc/p/7099552.html   //vm.$emit( event, arg ) //触发当前实例上的事件 //vm.$on ...

  2. ABP中的拦截器之EntityHistoryInterceptor

    今天我们接着之前的系列接着来写另外一种拦截器EntityHistoryInterceptor,这个拦截器到底是做什么的呢?这个从字面上理解是实体历史?这个到底是什么意思?带着这个问题我们来一步步去分析 ...

  3. rsync 远程拷贝

    rsync -vzP win7.qcow2 agu@192.168.1.198:/tmp/

  4. 操作docker容器

    Docker容器时镜像的一个运行实例,而镜像是静态的只读文件,容器带有运行时需要的可写文件层.如果认为虚拟机是模拟运行的一整套操作系统(包括内核.应用运行的环境和其他系统环境)和跑在上面的应用,那么D ...

  5. Python中的 一些常用技巧函数[.join()]

    1.str.join(item)字符串操作函数,参数item可以是字符串.元组.字典,示例 ','.join('abc') [','.join('abc')] 输出: 'a,b,c'['a', 'b' ...

  6. php提供的用户密码加密函数

    在实际项目中,对用户的密码加密基本上采用的  md5加盐的方式, php5.5后提供了一个加密函数,不需要手动加盐,不需要去维护盐值, $str = "123456"; $pwd ...

  7. Nginx 请求的11个阶段

    48 1:当请求进入Nginx后先READ REQUEST HEADERS 读取头部 然后再分配由哪个指令操作 2:Identity 寻找匹配哪个Location  3:Apply Rate Limi ...

  8. 关于计时器的js函数

    <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...

  9. tarjan模板

    tarjan #include <cstdio> #include <cstdlib> #include <cmath> #include <cstring& ...

  10. Mybatis的原理与JVM内存结构(面试题)

    Mybatis的原理 1.Mapper 接口在初始SQL SessionFactory注册的 2.Mapper 接口注册在名为MapperRegistry类的 HasMap中 key=Mapper c ...