【Mybatis】映射文件中的select属性resultMap的使用

其实Mybatis中的select标签,还有其他很多属性,前面我们已经讲了几个,接着还会讲几个相对重要的,其他的,同学们可以参照一下手册(http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html#select)自己学习一下

手册里resultType和resultMap介绍有点模糊,说清楚了resultType是期望的返回的类型,集合的话是集合包含的类型,不是集合本身,且这两个不能同时使用

其实两者的关系就是resultType解决数据表上的字段名称和JavaBean上的属性名称不一致的时候,前面介绍了两种方案,①在sql语句上起别名;②设置全局变量mapUnderscoreToCamelCase让符合驼峰命名约定的两个名字建立关联,如JavaBean属性名称regDate对应数据库字段名reg_date;其实这里还有第三种解决方案就是resultMap,它可以让我们指定定义数据库里的字段名称对应JavaBean的属性名称。

select属性resultMap的使用

1.使用resultMap自定义数据库字段名称和JavaBean的属性名称的对应关系,关键就是定义一组resultMap标签

2.使用resultMap实现关联查询(在hibernate中是自动完成的,Mybatis得我们手工配置)

试验步骤:

①新增Role类,在User你新增属性Role role

②在UserDao.xml重写sql和resultMap(复杂的查询结果resultType是吃不够的,必须用resultMap)

查询出来的结果:

id username password state reg_date rid role_name rstate

 ③编写对应的resultMap(通过级联的方式建立关联)

④看测试,实现关联查询

3.在上面的基础上使用association标签实现关联查询

试验步骤

①把RoleDao接口和RoleDao.xml建好,定义一个getRoleById的方法

②修改UserDao.xml的内容

把2中的发起一条sql语句,变成了发起两条sql语句分步执行。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白云如幻

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值