我是靠谱客的博主 简单小白菜,这篇文章主要介绍MyBatis的输出参数:resultType和resultMap,现在分享给大家,希望可以做个参考。

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

复制代码
1
2
3
4
<select id="queryStudentByHashMap" resultType="HashMap"> select stuno "no",stuname "name" from student </select>

测试方法

复制代码
1
2
3
4
5
6
7
8
9
10
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

复制代码
1
2
3
4
5
6
7
8
9
<!-- 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文件中做如下即可

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

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

最后

以上就是简单小白菜最近收集整理的关于MyBatis的输出参数:resultType和resultMap的全部内容,更多相关MyBatis内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部