MyBatis之resultMap的作用和xml配置折腾
来源:互联网 发布:淘宝一元抢购在哪里? 编辑:程序博客网 时间:2024/05/22 06:45
简单的搭建。
MyBatis实战——前身iBatis、基础环境搭建和如何"钓鱼" 这篇写了基础的环境搭建和代码操作。
我这里是使用了xml加interface结合的方法进行操作。现有Employee类。如果是简单的select,可以看看下面简单的例子。
Employee.Java
EmployeeMapper.java
EmployeeMapper.xml(和EmployeeMapper.java位于同个package中
mybatis-config.xml的mappers映射改成:
进行查询操作。
这是单表查询的时候,那么问题就来了。如果是多表复杂的查询。现在有了一张新表Employer,假如你是框架的设计者,会让Employee的字段全部丢到Employer中吗,显然不合适。
这是MyBatis提供了resultmap的方法。先看看单独一个类也可以使用resultmap进行映射。
Employer类
EmployerMapper.xml
测试:
折腾resultMap的id,result属性:
接下来开始折腾了。将EmployerMapper.xml里面改成只剩:
发现还是能正常映射。但是如果改javabean的一个属性:
这样最后取值是取不到的,因为映射不到。那究竟是属性名还是通过getset方法的名字映射呢。再折腾:
employeeid属性名与数据库字段名不对应,但是get,set的方法名是和数据库字段名对应的。运行正常。
如果不想在配置这里瞎折腾,JavaBean字段名保持和数据库字段名是最好的选择。
折腾resultMap extends属性,表关联查询。
Employer.xml
测试:
注意这次的em不再是和上面第一个折腾的一样,是和方法名一致的。这次是和属性名一致。不然会报错。
而且MyBatis的关联查询就这么简单,还是一样的关联语句,只不过加了一些映射配置。
折腾association
extends拓展看起来挺好,但是讲到解耦的话,你extends出来是个不伦不类的东西。本身我就有Employee的存在。
所以,这时association出现了。
测试代码不变:
但是不同于resultmap使用extends,result标签是不可少的,一旦少了,将获取不到其属性值。
经过上面种种折腾之后终于知道作者讲的作用是什么:最后就明白了书上所讲的ResultMap的作用,映射SQL选择声明的结果到JavaBean属性中。通过一对一和一对多associations可以将简单选择声明映射复杂的声明。
0 0
- MyBatis之resultMap的作用和xml配置折腾
- MyBatis之resultMap的作用和xml配置折腾
- MyBatis Mapper.xml配置 ResultMap
- MyBatis的xml配置的resultMap的特点
- Mybatis的resultType和resultMap
- Mybatis的查询操作之resultType和resultMap
- mybatis的mapper的配置文件的resultMap元素的用法和作用
- mybatis配置文件之resultMap和resultType
- Mybatis查询之resultMap和resultType区别
- Mybatis查询之resultMap和resultType区别
- mybatis(一对一配置 resultMap)
- mybatis select标签中resultMap和resultType作用区别
- MyBatis高级查询之resultMap的应用
- mybatis之resultMap的关联查询
- 【Mybatis】表关联和resultMap的使用
- MYBATIS中resultMap和parameterMap的使用
- mybatis中resultMap和resultType的区别
- 【Mybatis】表关联和resultMap的使用
- struts2 jar
- 关于springMvc action 无法进入的问题
- iOS Apple Pay
- 获取SQL Server 数据库结构
- 多线程之线程同步
- MyBatis之resultMap的作用和xml配置折腾
- Android仿京东、天猫商品详情页
- linux设备驱动中的并发控制
- 【jzoj3918】【TC Srm 636 Div2 1000pt】【蛋糕】【二分答案】
- rtp协议解析
- java web——JSP内置对象
- Xshell配色方案
- 使用itext-2.1.7生成word文档总结
- json定义及jquery解析json