mybatis级联查询返回结果配置
程序员文章站
2022-04-15 22:18:06
...
级联业务场景:
比如用户和部门的关系(暂时定义为1对1关系),
即:在用户表User中有部门Dept表的外键dept_id,因此实体类也相对的
在User类中有Dept对象的属性dept,这里就不一一描述了。
那么级联查询,在查询用户信息的时候就需要把用户所属的部门名称信息也列出来;
具体配置:
级联查询配置属于高级查询,因此用到resultMap;
通常配置级联查询有两种方式;
第一种方式:
可以直接使用属性名称关联查询返回,
如下:
直接使用dept.id及dept.departmentName即可。
第二种方式:
可以使用association配置
在resultMap中通过使用association直接指定相关的部门对象,
其中javaType指向的是部门表Dept的类路径
通过以上两种方式,可以组装配置级联查询的返回结果!
反过来,如果是需要查询部门,那么一个部门可以对应多个用户,
因此在Dept的类中有用户集合属性,List<Employee> userList;
那么查询部门Dept的时候同时把相应的迎合也查询出来放到userList中,则可以通过mybatis的collection配置,
如下:
<resultMap id="resultList" type="com.atguigu.mybatis.bean.Dept" >
<id column="did" property="did" jdbcType="INTEGER" />
<result column="dept_name" property="deptName" jdbcType="VARCHAR" />
<collection property="userList" ofType="com.atguigu.mybatis.bean.Employee" />
</resultMap>
上一篇: equals()和==
下一篇: spring Data jpa坑爹Bug
推荐阅读
-
MyBatis中使用RowBounds对查询结果集进行分页
-
深入理解用mysql_fetch_row()以数组的形式返回查询结果_php技巧
-
Python Sqlite3以字典形式返回查询结果的实现方法
-
解决mybatis使用char类型字段查询oracle数据库时结果返回null问题
-
Python Sqlite3以字典形式返回查询结果的实现方法
-
解决mybatis使用char类型字段查询oracle数据库时结果返回null问题
-
spring+mybatis 通过@ResponseBody返回结果中文乱码的解决方法
-
分享:在存储过程中使用另一个存储过程返回的查询结果集的方法
-
MyBatis之自查询使用递归实现 N级联动效果(两种实现方式)
-
MyBatis中使用RowBounds对查询结果集进行分页