resultType映射学习
博客作为个人学习笔记,随着学习深入更新。
接上一篇MySQL中的关联查询
(1)Question:resultType是什么
resultType是MyBatis框架中的一种映射方式,可以简化开发者从数据库中获取数据后,对数据处理的过程。与它具有相同的功能的还有resultMap,相比于resultMap,resultType无需自定义映射方式。因为它采用了mybatis默认的映射方式,即采取相同字段进行匹配映射。
(2)Question:实际使用resultType的场景
当客户端调用服务端提供的API操作数据库时,服务端需要按照API的功能从数据库中取得数据(查),返回给客户端。服务端程序会根据在xml文件中写好的sql语句进行数据的获取,并将获取的数据按照一定的规则存储起来,而这个存储的过程,就需要用到mabatis中resultType,或者resultmap映射方式。映射方式决定了获取数据是怎么存储的。
(3)resultType实际使用
现在在数据库中有这样一张表school
class_name | teacher | mobile | name | id |
---|---|---|---|---|
六年一班 | 阿福 | 13131313131 | 小夫 | 1 |
六年一班 | 阿福 | 13131313131 | 大熊 | 2 |
六年一班 | 阿福 | 13131313131 | 静香 | 3 |
需求:客户端需要读取到六年一班所有学生的姓名与对应学号
(1)xml文件关键语句如下
<mapper namespace="com.test.MybatisDao">
因为本文的关注点在于数据的映射,而不是与数据库的交互,因此这些语句足够说明问题。
select id = "getClass" resultType="com.test.Class"
select name, id from school
代码解释
select id = "getClass" resultType="com.test.Class"
getClass是与xml文件相交互接口中的方法,从数据库读取的数据作做为该方法的返回值;Class为getClass方法的返回值类型,此处要与接口中定义方法匹配。
从数据库中取出的结果如下
name | id |
---|---|
小夫 | 1 |
大熊 | 2 |
静香 | 3 |
(2)接口中描述的方法
@Mapper