mybatis_04 resultType和resultMap区别
2019-03-04 09:54:00来源:博客园 阅读 ()
resultType
使用resultType进行结果映射时,查询的列名和映射的pojo属性名完全一致,该列才能映射成功。
如果查询的列名和映射的pojo属性名全部不一致,则不会创建pojo对象;
如果查询的列名和映射的pojo属性名有一个一致,就会创建pojo对象。
<select id="findOrderExtbyId" parameterType="int" resultType="com.ahd.model.OrderExt"> select o.*,u.username,u.address from `user` u,orders o where u.id=o.user_id and u.id=#{id} </select>
输出简单类型
当输出结果只有一列时,可以使用ResultType指定简单类型作为输出结果类型。
(解释:输出的为count…和查询内容无关的,可以使用ResultType)
resultMap
如果查询出来的列名和属性名不一致,通过定义一个resultMap将列名和pojo属性名之间作一个映射关系。
1、 定义resultMap
2、 使用resultMap作为statement的输出映射类型
<resultMap id="userByresultmap" type="user"> <id property="id" column="id_"></id> <result property="username" column="username_"></result> <result property="birthday" column="birthday_"></result> <result property="sex" column="sex_"></result> <result property="address" column="address_"></result> </resultMap> <select id="findUserByResultMap" parameterType="userQueryVO" resultMap="userByresultmap"> select id id_, username username_, birthday birthday_, sex sex_, address address_ from user where username like "%${user.username}%" </select>
resultType:将查询结果按照sql列名pojo属性名一致性映射到pojo中。
resultMap:使用association和collection完成一对一和一对多高级映射(对结果有特殊的映射要求)。
association:将关联查询信息映射到一个pojo对象中。
collection:将关联查询信息映射到一个list集合中。
原文链接:https://www.cnblogs.com/aihuadung/p/10466616.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- MyBatis中的$和#,用不好,准备走人! 2020-06-11
- SpringBoot 2.3 整合最新版 ShardingJdbc + Druid + MyBatis 2020-06-11
- 天哪!手动编写mybatis雏形竟然这么简单 2020-06-06
- MyBatis整合双数据源 2020-06-04
- MyBatis缓存特性详解 2020-06-03
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash