我是靠谱客的博主 开心小懒虫,最近开发中收集的这篇文章主要介绍mybatis一对多嵌套结果 mybatis学习笔记07,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

mybatis一对多嵌套结果:
一对多嵌套结果的特点:只发送一条sql语句
在这里插入图片描述
步骤:
新建domain类:
在这里插入图片描述在这里插入图片描述数据库设计:
在这里插入图片描述
在这里插入图片描述新建domainMapper接口:在本例中为DepartmentMapper
在这里插入图片描述新建domainMapper.xml在本例中为:DepartmentMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--
namespace:命名空间 -> 要求:一个项目中命名空间必须唯一;
-->
<mapper namespace="cn.itsource.mybatis.onetomany02.DepartmentMapper">
    <!--
      select:标签名字:  CRUD的时候对应的名字
      id:这个语句的唯一标识;   【必须和接口的方法名字一样】;
      parameterType:传入参数类型
      resultType:返回值类型
      #{id}:参数的接收
      List<Employee> findAll();
    -->
    <select id="findAll" resultMap="DepartmentMap">
        select d.id,d.name,e.id eid,e.username eusername,e.age eage,e.dept_id from department d left join employee e on d.id=e.dept_id
    </select>
    <!-- private Long id;
    private String name;
    private List<Employee> list = new ArrayList<>();
-->
    <resultMap id="DepartmentMap" type="cn.itsource.mybatis.onetomany02.Department">

        <id column="id" property="id"/>
        <result column="name" property="name"/>
	<!-- 这里配置员工类的属性 -->
        <collection property="list"
                    javaType="list"
                    ofType="cn.itsource.mybatis.onetomany02.Employee"
                    >
            <id column="eid" property="id"/>
            <result column="eusername" property="username"/>
            <result column="eage" property="age"/>

        </collection>

    </resultMap>


</mapper>

在DepartmentMapper.xml中的注意事项:
在这里插入图片描述在mybatis的主配置文件中引入我们定义的DepartmentMapper.xml文件的路径:
在这里插入图片描述
连接数据库的配置和mybatis主配置文件和自定义mybatis工具类步骤省略,详细步骤查看 mybatis学习笔记01

测试:
在这里插入图片描述测试结果:
在这里插入图片描述

最后

以上就是开心小懒虫为你收集整理的mybatis一对多嵌套结果 mybatis学习笔记07的全部内容,希望文章能够帮你解决mybatis一对多嵌套结果 mybatis学习笔记07所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部