我是靠谱客的博主 简单小白菜,最近开发中收集的这篇文章主要介绍MyBatis的输出参数:resultType和resultMap,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

输出参数resultType
1、简单类型(8个基本类型+String)
2、输出参数为实体对象类型
3、输出参数为实体对象类型的集合:虽然输出类型为集合,但是resultType依然写集合的元素类型
4、输出参数类型为HashMap,如:

	<select id="queryStudentByHashMap" resultType="HashMap">
select stuno "no",stuname "name" from student
</select>

测试方法

public static void queryStudentByHashMap() throws IOException {
Reader reader = Resources.getResourceAsReader("conf.xml");
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
SqlSession session = sessionFactory.openSession();
StudentMapper studentMapper = session.getMapper(StudentMapper.class);
List<HashMap<String, Object>> studentMap = studentMapper.queryStudentByHashMap();
System.out.println(studentMap);
session.close();
}

当把数据表中stuno改为id,stuname改为name,使得类中的属性名和表中的字段名不一致。则又以下两种方法使之对应
方法一:使用resultMap

<!-- select的resultType的值=resultMap的id值 -->
<select id="query" parameterType="id" resultType="queryStudent">
select id,name from student where id = #{id}
</select>
<resultMap type="student" id="queryStudent">
<id property="stuNo" column="id"/>
<result property="stuName" column="name"/>
</resultMap>

方法二:使用resultType+HashMap
只需在StudentMapper.xml文件中做如下即可

<!-- 给数据库表的字段起别名,对应类的属性名 -->
<select id="query" parameterType="int" resultType="student">
select id "stuNo",name "stuName" from student where id = #{id}
</select>

如果表中字段的别名和类的属性名不一致,则该属性的返回值是默认值,如0,null等等。

最后

以上就是简单小白菜为你收集整理的MyBatis的输出参数:resultType和resultMap的全部内容,希望文章能够帮你解决MyBatis的输出参数:resultType和resultMap所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部