`
wxinpeng
  • 浏览: 587322 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

MyBatis映射一对一关联

阅读更多

          使用惯了Hibernate, model类之间都会书写关联关系。现在使用  Mybatis,在Mybatis中如何映射类之间的关联关系,今天举例说一下一对一的关联关系在Mybatis中如何映射。

          例:  Blog与Author是一对一的关联关系

           model类的代码如下:

 

public class Blog implements Serializable {
	private static final long serialVersionUID = 1L;
	private Integer rowId;
	private Integer authorId;//作者ID
	private String title;
	private String content;
	private Author author;//关联作者类
	//省略Setter,Getter方法
}

public class Author implements Serializable {
	private static final long serialVersionUID = 1L;
	private Integer rowId;
	private String name;
	private Integer age;
	private String email;
	//省略Setter,Getter方法
	
}

 

        Mybatis的映射文件如下:

    

<resultMap type="Blog" id="blogResult">  
    <id column="rowId" property="blog_id" /> 
    <result column="authorId" property="authorId"/>  
    <result column="title" property="blog_title"/>  
    <result column="content" property="blog_content"/> 
    <!-- 映射关联的对象 -->  
    <association property="author" javaType="Author">  
        <id column="rowId" property="author_id"/>  
        <result column="name" property="author_name"/>  
        <result column="age" property="author_age"/>  
        <result column="email" property="author_email"/>   
    </association>     
</resultMap> 


<select id="selectBlog" parameterType="int" resultMap="blogResult">  
    select  
        B.rowId as blog_id,  
        B.title as blog_title,
        B.content as blog_content,  
        B.author_id as blog_author_id,  
        A.rowId as author_id,  
        A.name as author_name,  
        A.age as author_age,  
        A.email as author_email 
    From Blog B left join Author A on A.author_id = B.blog_id  
    where B.author_id = #{id}  
</select>  

              使用association 这个元素即可完成类之间的一对一的映射。

分享到:
评论

相关推荐

    Mybatis关联映射Demo

    1. **一对一(OneToOne)映射**:这种映射通常用于表示两个实体之间一对一的关系,例如一个用户只有一个地址。在Mybatis中,可以通过`&lt;association&gt;`标签来定义一对一关系,包括内嵌方式和外键方式。 2. **一对多...

    MyBatis关联映射代码

    `&lt;association&gt;`标签用于映射一对一关系,`&lt;collection&gt;`标签用于映射一对多关系。在查询用户时,MyBatis会根据ResultMap自动填充对应的`Address`对象和`Order`对象列表。 对于注解方式的关联映射,MyBatis也提供了...

    mybatis关联映射源码

    在MyBatis中,关联映射是处理对象关系映射(ORM)的重要部分,用于描述实体类之间的关联关系,如一对一(OneToOne)、一对多(OneToMany)和多对多(ManyToMany)。下面我们将深入探讨这些关联映射的实现和原理。 ...

    MyBatis框架的学习(五)——一对一关联映射和一对多关联映射

    在本篇关于MyBatis框架的学习中,我们将深入探讨一对一关联映射和一对多关联映射的概念、配置以及在实际开发中的应用。MyBatis是一个优秀的持久层框架,它允许开发者将SQL语句直接写在XML配置文件或者注解中,从而...

    MyBatis的一对一关联映射

    总结来说,MyBatis 通过 `&lt;association&gt;` 标签和注解的方式实现了对一对一关联映射的支持。在实际开发中,根据项目需求和性能考虑,我们可以选择合适的映射方式,以优化数据读取效率和代码的可维护性。提供的压缩包...

    实现Mybatis框架中一对多关联映射的查询操作。

    在处理复杂的数据库关联关系时,比如一对一、一对多、多对一、多对多等,Mybatis提供了灵活的映射机制。本篇将详细讲解如何在Mybatis中实现一对多关联映射的查询操作。 首先,我们要明确一对多关联映射的基本概念。...

    MyBatis的关联映射实践报告

    了解数据表之间以及对象之间的三种关联关系 2.熟悉关联关系中的嵌套查询和 嵌套结果 3.掌握一对一,一对多,和多对多关联映射作用

    Springboot中mybatis表关联映射关系(一对一)

    在本文中,我们将详细介绍 Springboot 中 MyBatis 表关联映射关系的实现机制,特别是针对一对一关联关系的实现。 一对一关联关系是一种非常常见的关联关系,例如,一个学生只有一个学生证,同时一个学生证也只对应...

    SpringBoot中mybatis表关联映射关系(一对多嵌套:结果方式)

    SpringBoot 中 MyBatis 表关联映射关系(一对多嵌套:结果方式) 在 SpringBoot 中,MyBatis 是一个非常流行的持久层框架,它提供了强大的持久化功能,能够将 Java 对象与数据库表进行映射。在实际开发中,我们经常...

    Mybatis关联映射

    - **实现**: 使用`association`标签来配置多对一的关联映射。 ##### 2. 一对多 - **概念**: 在一对多的关系中,一个实体对应多个实体。例如,一个客户可能有多个订单。 - **实现**: 使用`collection`标签来配置一...

    MyBatis关联映射:一对一、一对多-代码.zip

    2. **使用association标签**:在resultMap内使用association标签来指定一对一关联的实体类,通过column属性设置关联的外键字段,javaType属性指定Java类型。 3. **使用@One注解**:在MyBatis的Plus扩展中,可以在...

    mybatis实现一对一关联映射实例代码

    MyBatis 实现一对一关联映射实例代码 MyBatis 是一个基于 Java 的持久层框架,它提供了对数据库的访问和操作。在实际项目开发中,经常存在一对一的关系,如一个人对应一张身份证信息,这就是一对一的关系。下面我们...

    myBatis一对一和一对多

    本主题将详细探讨在MyBatis中如何实现一对一和一对多的映射。 ### 一对一映射(One-to-One) 一对一关系通常发生在两个实体之间,例如一个用户对应一个唯一地址。在MyBatis中,可以通过`&lt;association&gt;`标签来配置...

    Mybatis实现一对一关联查询(Mysql数据库)

    在Java开发中,Mybatis作为一款轻量级的持久层框架,被广泛应用于数据访问操作。本主题将详细探讨如何在Mybatis中实现...总之,正确配置Mybatis的映射文件和Java实体类,可以轻松地实现数据库中一对一关联的查询操作。

    MyBatis一对多映射

    在处理复杂的关联关系时,MyBatis的一对多映射机制显得尤为重要。一对多映射指的是一个父类实体对应多个子类实体的关系,例如一个学生可以有多个课程,一个部门可以有多名员工等。 一、一对多映射的基本概念 在...

    MyBatis高级映射(一对多查询)

    在MyBatis的映射文件中,我们需要为一对一和一对多关系创建对应的XML元素。对于一对多关系,通常使用`&lt;association&gt;`或`&lt;collection&gt;`标签来定义。例如,假设我们有一个`Department`类和一个`Employee`类,一个部门...

    基于java的企业级应用开发:MyBatis的关联映射.ppt

    MyBatis使用`&lt;resultMap&gt;`元素的`&lt;association&gt;`子元素来处理一对一的关联映射。配置`&lt;association&gt;`时,可以设置`property`属性来指定映射到实体类的对象属性,`column`用于指定数据库中的字段,`javaType`定义对象...

    MyBatis的关联映射

    其中,关联映射是MyBatis中的一个重要特性,用于处理数据库中复杂的关系,如一对一、一对多和多对多的关联关系。本篇文章将深入探讨这三种关系以及如何通过嵌套查询和嵌套结果两种方式在MyBatis中实现它们。 ### 一...

    MyBatis一对一查询的代码

    本文将详细讲解如何在MyBatis中实现一对一查询,并通过实例代码来帮助理解这一概念。 首先,我们需要了解一对一关系的概念。在数据库设计中,一对一关系是指两个表中的每一条记录都唯一对应另一表中的一个记录。...

    MyBatis高级映射(一对一查询)

    MyBatis作为一款强大的持久层框架,其在处理复杂数据映射方面表现出色,尤其是在一对一查询上。一对一查询是数据库操作中常见的关联查询方式,它用于获取一个对象的相关联的另一个对象的信息。在这个主题中,我们将...

Global site tag (gtag.js) - Google Analytics