`

ibatis的含有外键的OR映射

阅读更多
对于有外键的主表映射,在查询返回结果时要使用resultmap进行映射,并在propety里使用select属性进行子查询。

/**
 * @author jelly qq:136179492
 */
public class PetitionLetter {
	private int id;

	private String identifier;

	private Reporter reporter; // 外键,数据库里是int类型

	private LetterInformation letterInformation; // 外键,数据库里是int类型

	private Supervision supervision; // 外键,数据库里是int类型

	private ProcessFlow processFlow; // 外键,数据库里是int类型
}
/**
 * @author jelly qq:136179492
 */
public class PetitionLetter {
	private int id;

	private String identifier;

	private Reporter reporter; // 外键,数据库里是int类型

	private LetterInformation letterInformation; // 外键,数据库里是int类型

	private Supervision supervision; // 外键,数据库里是int类型

	private ProcessFlow processFlow; // 外键,数据库里是int类型
}

<sqlMap namespace="PetitionLetter">
	<typeAlias alias="PetitionLetter"
		type="com.cs.jfb.input.model.PetitionLetter" />
	<typeAlias alias="ProcessFlow"
		type="com.cs.jfb.process.model.ProcessFlow" />
	<typeAlias alias="Reporter" type="com.cs.jfb.input.model.Reporter" />
	<typeAlias alias="LetterInformation"
		type="com.cs.jfb.input.model.LetterInformation" />
	<typeAlias alias="Supervision"
		type="com.cs.jfb.supervision.model.Supervision" />
	<resultMap id="PetitionLetterResult" class="PetitionLetter">
		<result property="id" column="id" />
		<result property="identifier" column="identifier" />
		<result property="reporter" column="reporter"
			select="selectReporter" />
		<result property="letterInformation" column="letterInformation"
			select="selectLetterInformation" />
		<result property="supervision" column="supervision"
			select="selectSupervision" />
		<result property="processFlow" column="processFlow"
			select="selectProcessFlow" />
	</resultMap>
	
	<!-- Select with no parameters using the result map for Account class. -->
	<select id="selectAllPetitionLetter"
		resultMap="PetitionLetterResult">
		select * from t_petitionletter 20.
	</select>
	<select id="selectProcessFlow" resultClass="ProcessFlow"
		parameterClass="int">
		select * from t_processflow where id = #id# 24.
	</select>
	<select id="selectReporter" resultClass="Reporter"
		parameterClass="int">
		select * from t_reporter where id = #id# 28.
	</select>
	<select id="selectLetterInformation" resultClass="LetterInformation"
		parameterClass="int">
		select * from t_letterinformation where id = #id# 32.
	</select>
	<select id="selectSupervision" resultClass="Supervision"
		parameterClass="int">
		select * from t_supervision where id = #id#
	</select>
	<select id="selectPetitonLetterById" parameterClass="int"
		resultMap="PetitionLetterResult">
		select * from t_petitionletter where id = #id#
	</select>
</sqlMap>


分享到:
评论

相关推荐

    Ibatis一对一映射提示

    在Java Web开发中,iBATIS(现在被称为MyBatis)是一个流行的持久层框架,它提供了灵活的SQL映射机制,使得开发者可以更方便地操作数据库。本篇将深入讲解iBATIS一对一映射的概念、配置及应用,帮助你更好地理解和...

    ibatis总配置和映射配置.txt

    此文本主要是关于ibatis总配置和映射配置和一些需要主要的细节。

    ibatis 一对多 多对多完整映射

    在IT行业中,数据库关系映射是开发Web应用时不可或缺的一部分,特别是对于ORM(对象关系映射)框架如iBATIS(现在称为MyBatis)。本文将深入探讨如何在iBATIS中实现一对多和多对多的关系映射,并提供相关的源码分析...

    ibatis 一对多关系映射

    Ibatis,作为一个轻量级的Java ORM框架,提供了强大的功能来处理复杂的数据映射,其中包括一对多的关系映射。在这个场景下,我们将深入探讨Ibatis如何实现一对多的关系映射。 一对多关系在数据库设计中非常常见,它...

    ibatis配置文件、映射文件详解

    ### ibatis配置文件、映射文件详解 #### 1. SQL Map Config 文件详解 在ibatis框架中,`sqlMapConfig.xml`是一个非常重要的配置文件,它主要用于设置ibatis的全局配置信息,包括数据库连接信息、环境配置以及其它...

    ibatis 的关系映射

    标题 "ibatis 的关系映射" 指的是在使用 iBATIS(一款优秀的Java持久层框架)时,如何处理数据库中的对象关系映射(ORM)问题。在Java应用程序中,iBATIS 提供了一种方便的方式来将数据库操作与业务逻辑解耦,使得...

    ibatis半自动化orm映射

    标题 "ibatis半自动化ORM映射" 涉及的核心技术是iBatis,这是一个流行的Java数据访问框架,用于实现对象关系映射(ORM)。ORM的主要目标是将数据库操作与业务逻辑解耦,使得开发人员可以更专注于业务代码,而无需...

    IBatis: Discriminator Column Example – Inheritance Mapping(Ibatis中的继承映射)

    本篇文章主要探讨的是iBATIS中的一个高级特性——继承映射,通过`Discriminator`列来实现类的多态性。 首先,我们需要理解什么是继承映射。在面向对象编程中,继承是一种设计模式,允许创建新的类(子类)基于已...

    iBATIS-SqlMaps,ibatis映射文件

    iBATIS的核心概念是SqlMapConfig.xml配置文件和一系列的SqlMap.xml映射文件,这两个文件是理解iBATIS工作原理的关键。 SqlMapConfig.xml是整个iBATIS框架的全局配置文件,它包含了数据源、事务管理器等核心组件的...

    \ibatis配置文件、映射文件详解

    本文将深入探讨iBATIS的核心配置文件——`sqlMapConfig.xml`,以及映射文件的详细内容。 `sqlMapConfig.xml`是iBATIS的全局配置文件,它包含了所有iBATIS运行时的设置,如数据源、事务管理器、缓存配置等。让我们...

    ibatis and和or联合查询 .doc

    ### ibatis and和or联合查询知识点 #### 一、ibatis简介 ibatis是一个支持普通SQL查询、存储过程以及高级映射的优秀开源数据访问框架。ibatis消除了几乎所有的JDBC对象操作,提供了一个简单的基本API,它通过XML或...

    ibatis one to many mapping

    标题 "iBatis 一对多映射" 描述中提到的是关于 iBatis 框架下的一对多关系映射。iBatis 是一个基于 Java 的持久层框架,它允许程序员将 SQL 查询与 Java 代码相结合,以实现更灵活的数据访问。在数据库关系模型中,...

    ibatis 用HashMap解决resultClass映射

    ### ibatis 使用 HashMap 解决 resultClass 映射 在日常的软件开发过程中,尤其是在处理数据库查询时,我们经常面临一个问题:如何优雅地处理那些未知或动态变化的列名及列数的情况?在这种情况下,传统的实体类...

    ibatis映射文件信息,接口对应

    标题和描述中提到的“ibatis映射文件信息,接口对应”是指Ibatis如何通过映射文件与Java接口进行关联,实现数据操作的封装和调用。 首先,我们需要了解Ibatis的核心组成部分:SqlMapConfig.xml配置文件、Mapper接口...

    深入分析 iBATIS 框架之系统架构与映射原理

    **深入分析 iBATIS 框架之系统架构与映射原理** iBATIS 是一个优秀的持久层框架,它允许开发者将 SQL 语句与 Java 代码分离,从而简化了数据库访问层的开发工作。本篇文章将深入探讨 iBATIS 的核心系统架构以及其...

    Mybatis/ibatiS多表映射 一对一 一对多 extjs前台取值 详细讲解

    首先,我们来看Mybatis或iBatis在XML配置文件中的多表映射。以学生、班级和班主任为例,学生与班级是一对多关系,班级与班主任是一对一关系。在`classInfo-mapper.xml`配置文件中,我们定义了三个`resultMap`:`...

    ibatis配置、映射文件详解.doc

    《iBatis配置与映射文件详解》 iBatis,作为一个轻量级的持久层框架,以其灵活的SQL映射和良好的数据库交互性深受开发者喜爱。本文将深入解析iBatis的核心配置文件`sqlMapConfig.xml`,以及映射文件的使用方法,...

    一个基于oralce java 的ibatis 映射文件生成工具

    在网上下的eclipse abator插件自感觉不好用, 自已写了一个 基于oracle的,支持生成序列,pojo sqlmap.xml,dao daointerface,生成字段的注释 四个基本方法,增删改查, 写的时候基于oracle11的,低版本的可能在到得字段...

Global site tag (gtag.js) - Google Analytics