resultType是sql映射文件中定义返回值类型,返回值有基本类型,对象类型,List类型,Map类型等。

resultType:

基本类型  :resultType=基本类型

List类型:   resultType=List中元素的类型

Map类型    单条记录:resultType =map

多条记录:resultType =Map中value的类型

对象类型:对于对象类型resultType直接写对象的全类名就可以了


1、基本数据类型,例如int

   studentMapper接口

package com.bj58.mybatis.dao;

import com.bj58.mybatis.po.Student;

public interface StudentMapper {

//返回值类型为int

public int countStudent(long userid);

}

   studentMapper.xml

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.bj58.mybatis.dao.StudentMapper"> <!--resultType直接写对象的全类名 --> <select id="countStudent" resultType="int"> select COUNT(*) from user where attTime = #{attTime} and userId = #{userId}; </select> </mapper>


2、List类型,返回值为List类型,resultType为List中对象的类型,如List<Student>,resultType为Student

studentMapper接口

package com.bj58.mybatis.dao;

import java.util.List;

import com.bj58.mybatis.po.Student;

public interface StudentMapper{

// 返回值为List

public List<Student> getStudent(Integer i);

}

studentMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >

<mapper namespace="com.bj58.mybatis.dao.StudentMapper">

<!-- 返回值为List,resultType为List中元素的全类名 -->

<select id="getStudent" resultType="com.bj58.mybatis.po.Student">

select * from user

where

age>#{age}

</select>

</mapper>


3、Map类型,

a、返回单条记录的map,key为属性,值为属性值。resultType为map

   studentMapper接口

package com.bj8.mybatis.dao;

import java.util.Map;

import com.bj58.mybatis.po.Student;

public interface StudentMapper {

// 返回值为Map,key为属性名,value为属性值

public Map<String, Object> getStudent(Integer i);

}

   studentMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >

<mapper namespace="com.bj58.mybatis.dao.StudentMapper">

<!-- 返回值为map,resultType为map -->

<select id="getStudentl" resultType="map">

select * from user

where

age=#{age}

</select>

</mapper>

b、返回多条记录的map,key为任意一属性,值为对象类型。如Map<String,Student>,resultType为Student。返回多条记录的map时,key为任意一属性,值为对象类型,不过key需要通过@MapKey("studentName")指定对象中一个属性名为key

studentMapper接口

package com.bj8.mybatis.dao;

import java.util.Map;

import org.apache.ibatis.annotations.MapKey;

import com.bj58.mybatis.po.Student;

public interface StudentMapper {

// 返回值为Map,key需要通过@MapKey("属性名")来指定javaBean中的一个属性名为key,value为对象

@MapKey("studentName")

public Map<String, Student> getStudent(Integer i);

}

   studentMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >

<mapper namespace="com.bj58.mybatis.dao.StudentMapper">

<!-- 返回值为map,resultType为map -->

<select id="getStudentl" resultType="com.bj58.mybatis.po.Student">

select * from user

where

age=#{age}

</select>

</mapper>


4、对象类型,对于对象类型resultType直接写对象的全类名就可以了

       studentMapper接口

package com.bj58.mybatis.dao;

import com.bj58.mybatis.po.Student;

public interface StudentMapper {

//返回值类型为Student

public Student getStudent (Integer i);

}

    studentMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >

<mapper namespace="com.bj58.mybatis.dao.StudentMapper">

<!--resultType直接写对象的全类名 -->

<select id="getStudent" resultType="com.bj58.mybatis.po.Student">

select * from user

where

age=#{age}

</select>

</mapper>

Mybatis之resultType详解相关推荐

  1. mybatis mybatis的resultType详解

    简单数据类型处理: java给定的封装类别名 resultType可以是一个自定义的类的名字,也可以是一个封装好的java类,也可以是java封装好的类的类名如上面的别名表. 如何给自己定义的类定义别 ...

  2. 如何配置Mybatis?(详解)

    如何配置Mybatis?(详解) 官网文档: https://mybatis.org/mybatis-3/zh/getting-started.html pom.xml <?xml versio ...

  3. Mybatis案例超详解

    Mybatis案例超详解 前言: 本来是想像之前一样继续跟新Mybatis,但由于种种原因,迟迟没有更新,快开学了,学了一个暑假,博客也更新了不少,我觉得我得缓缓,先整合一些案例练练,等我再成熟点理解 ...

  4. Mybatis的特性详解——动态SQL

    Mybatis的特性详解--动态SQL 前言 一.动态sql的元素 1.MyBatis if标签:条件判断 2.MyBatis choose.when和otherwise标签 3.MyBatis wh ...

  5. mybatis的原理详解

    mybatis的原理详解 原理图 执行的原理图如下图所示: 配置文件分析 config.xml: <?xml version="1.0" encoding="UTF ...

  6. MyBatis SQL语句详解

    MyBatis SQL语句详解 1 CRUD标签 1.1 select 1.2 insert 1.3 update 1.4 delete 1.5 #{ }和${ }的区别 2 动态SQL 2.1 if ...

  7. MyBatis中resultMap详解

    MyBatis 中 resultMap 详解 resultMap 是 Mybatis 最强大的元素之一,它可以将查询到的复杂数据(比如查询到几个表中数据)映射到一个结果集当中.如在实际应用中,有一个表 ...

  8. Mybatis的入门详解

    mybatis简介 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为M ...

  9. 封装成jar包_通用源码阅读指导mybatis源码详解:io包

    io包 io包即输入/输出包,负责完成 MyBatis中与输入/输出相关的操作. 说到输入/输出,首先想到的就是对磁盘文件的读写.在 MyBatis的工作中,与磁盘文件的交互主要是对 xml配置文件的 ...

最新文章

  1. 插入排序,希尔排序,堆排序
  2. 谈谈你对Android NDK的理解
  3. vb 实现二维数组(矩阵)转置。_笃学不倦|数组的定义
  4. UITextField的总结
  5. python import_Python Import 详解
  6. 10个高效Linux技巧及Vim命令对比
  7. 中断、轮询、事件驱动、消息驱动、数据流驱动(Flow-Driven)?
  8. 正则表达式收集(持久更新)
  9. lambd 创建线程_连接到Qt信号的Python lambda函数在其他线程中创建时不运行
  10. 《编码规范和测试方法——C/C++版》学习笔记 ·002
  11. 数字电视 机顶盒原理
  12. 解决:惠普HP LaserJet Pro M126a MFP 驱动 安装失败,及其它同类打印机失败问题
  13. 用两个队列实现一个栈
  14. 数学分析中的点荟萃(持续补充修缮)
  15. 8-2SpringDataJpa
  16. 初学JAVA项目(三、槑图秀秀)
  17. 获取一组坐标的中心点
  18. 聊天类 APP 功能测试总结
  19. iOS XibKits-- Label内边距设置
  20. html表格翻页简单,利用jQuery实现一个简单的表格上下翻页效果

热门文章

  1. python注释以及中文注释
  2. spring的BeanUtils属性copy
  3. uniapp调用微信登录,第三方登录
  4. (思考)企业战略的上三路和下三路
  5. 简单实现有向无环图思路
  6. ARM嵌入式编译器-volatile关键字对编译器优化的影响
  7. EXT4 之 文件系统在磁盘上的布局 之一
  8. 【mmdetection实践】(三)使用华为云安装训练mmdetection
  9. TOCControl绑定Mapcontrol 报调用目标发生异常问题
  10. 国际物联网展会盛大开幕 解放号众包平台再成焦点