Mybatis框架学习_7_嵌套属性查询(级联查询)
Posted 勇气
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis框架学习_7_嵌套属性查询(级联查询)相关的知识,希望对你有一定的参考价值。
1.背景
我们经常会遇到这样的开发场景,将一个类 Class02 作为另一个类 Class01 的属性,此时我们可以通过级联属性进行调用;
2.实例演示
- 在我们使用的 person 表中加入 homeaddress(家庭住址)、workaddress(工作地址)两列;我们查询出家庭住址为北京或者工作地址为承德的全部数据;
alter table person add homeaddress varchar(100) comment \'家庭地址\'; alter table person add workaddress varchar(100) comment \'工作地址\';
此时 person 表如下所示:
- 创建地址实体类Person 和 Address,Address 类里面包含两个属性 homeAddress 和 workAddress,Person类里面包含 Address 属性;
- 创建 Person 类对应的 PersonMapper.xml 文件和动态代理的接口 PersonMapper;
此时 PersonMapper.xml 配置文件如下:
<!--级联属性--> <select id="selectOrderByValue" resultType="Person" parameterType="Person"> SELECT * FROM person where homeaddress = #{address.homeaddress} or workaddress=#{address.workaddress} </select>
- 编写测试类后,运行结果为:
但是请注意:此时如果打印的话是无法显示出 homeaddress 和 workaddress 的信息的,因为 Person 实体类中没有这两个属性;
以上是关于Mybatis框架学习_7_嵌套属性查询(级联查询)的主要内容,如果未能解决你的问题,请参考以下文章
MyBatis学习总结_13_Mybatis查询之resultMap和resultType区别