文档参考地址mybatis – MyBatis 3 | 入门文档

导入配置文件

<!--    导入数据源信息-->
<properties resource="database.properties"/>

实体与对象映射关系的实现

参考文章

MyBatis之association和collection标签_mybatis collection-CSDN博客

<association> 标签实现一对一关联查询(级联查询)

<collection> 标签实现一对多关联查询

<association>标签

标签作用

用于处理关联关系,可以将多个表中的数据映射到单个Java对象中,主要用于一对一的情况。

标签常用属性

属性 描述
property 属性名:映射实体类属性名
column 映射数据库字段名
javaType 属性类型:映射java类型
jdbcType 映射数据库类型
select 用于加载复杂类型属性的映射语句的ID(它会从column 属性指定的列中检索数据,作为参数传递给目标 select 语句。)
resultMap 不使用嵌套模式,而是将此关联的嵌套结果集映射到一个外部的标签中,然后通过 id 进行引入。
columnPrefix 给关联的数据库中的 column 添加一个前缀(如果不添加前缀,当 两个表同时有 id 字段,查询结果时一定会产生覆盖,使得两个 id 的值一样)
fetchType 延迟加载,lazy打开延迟加载,eager积极加载。指定属性后,将在映射中忽略全局配置参数lazyLoadingEnabled,使用属性的值。

使用方式 | 推荐方式二

方式一 关联查询

通过使用多表联合查询语句来获取数据,用一个方法获取想要的结果。

    <!-- 定义封装account和user的resultMap -->
    <resultMap id="标签的id既名字,可随意" type="查询的主表对应的实体类路径(如:cn.hdc.User)">
        <id property="实体类中表示主键的名称" column="数据库表主键名称"></id>
        <result property="实体类属性" column="数据库表列名"></result>
        <result property="实体类属性" column="数据库表列名"></result>
        <!-- 一对一的关系映射,配置封装user的内容 -->
        <association property="实体类属性(另一张表的对象)" 
                     javaType="另一张表对应的实体类路径">
            <!-- 说明封装的实体类对象 -->
            <id property="主键对应的实体类属性" column="主键名称"></id>
            <result property="实体类属性" column="数据库表列名"/>
            <result property="实体类属性" column="数据库表列名"/>
        </association>
    </resultMap>