对于有外键的主表映射,在查询返回结果时要使用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>
分享到:
相关推荐
在Java Web开发中,iBATIS(现在被称为MyBatis)是一个流行的持久层框架,它提供了灵活的SQL映射机制,使得开发者可以更方便地操作数据库。本篇将深入讲解iBATIS一对一映射的概念、配置及应用,帮助你更好地理解和...
此文本主要是关于ibatis总配置和映射配置和一些需要主要的细节。
在IT行业中,数据库关系映射是开发Web应用时不可或缺的一部分,特别是对于ORM(对象关系映射)框架如iBATIS(现在称为MyBatis)。本文将深入探讨如何在iBATIS中实现一对多和多对多的关系映射,并提供相关的源码分析...
Ibatis,作为一个轻量级的Java ORM框架,提供了强大的功能来处理复杂的数据映射,其中包括一对多的关系映射。在这个场景下,我们将深入探讨Ibatis如何实现一对多的关系映射。 一对多关系在数据库设计中非常常见,它...
### ibatis配置文件、映射文件详解 #### 1. SQL Map Config 文件详解 在ibatis框架中,`sqlMapConfig.xml`是一个非常重要的配置文件,它主要用于设置ibatis的全局配置信息,包括数据库连接信息、环境配置以及其它...
标题 "ibatis 的关系映射" 指的是在使用 iBATIS(一款优秀的Java持久层框架)时,如何处理数据库中的对象关系映射(ORM)问题。在Java应用程序中,iBATIS 提供了一种方便的方式来将数据库操作与业务逻辑解耦,使得...
标题 "ibatis半自动化ORM映射" 涉及的核心技术是iBatis,这是一个流行的Java数据访问框架,用于实现对象关系映射(ORM)。ORM的主要目标是将数据库操作与业务逻辑解耦,使得开发人员可以更专注于业务代码,而无需...
本篇文章主要探讨的是iBATIS中的一个高级特性——继承映射,通过`Discriminator`列来实现类的多态性。 首先,我们需要理解什么是继承映射。在面向对象编程中,继承是一种设计模式,允许创建新的类(子类)基于已...
iBATIS的核心概念是SqlMapConfig.xml配置文件和一系列的SqlMap.xml映射文件,这两个文件是理解iBATIS工作原理的关键。 SqlMapConfig.xml是整个iBATIS框架的全局配置文件,它包含了数据源、事务管理器等核心组件的...
本文将深入探讨iBATIS的核心配置文件——`sqlMapConfig.xml`,以及映射文件的详细内容。 `sqlMapConfig.xml`是iBATIS的全局配置文件,它包含了所有iBATIS运行时的设置,如数据源、事务管理器、缓存配置等。让我们...
### ibatis and和or联合查询知识点 #### 一、ibatis简介 ibatis是一个支持普通SQL查询、存储过程以及高级映射的优秀开源数据访问框架。ibatis消除了几乎所有的JDBC对象操作,提供了一个简单的基本API,它通过XML或...
标题 "iBatis 一对多映射" 描述中提到的是关于 iBatis 框架下的一对多关系映射。iBatis 是一个基于 Java 的持久层框架,它允许程序员将 SQL 查询与 Java 代码相结合,以实现更灵活的数据访问。在数据库关系模型中,...
### ibatis 使用 HashMap 解决 resultClass 映射 在日常的软件开发过程中,尤其是在处理数据库查询时,我们经常面临一个问题:如何优雅地处理那些未知或动态变化的列名及列数的情况?在这种情况下,传统的实体类...
标题和描述中提到的“ibatis映射文件信息,接口对应”是指Ibatis如何通过映射文件与Java接口进行关联,实现数据操作的封装和调用。 首先,我们需要了解Ibatis的核心组成部分:SqlMapConfig.xml配置文件、Mapper接口...
**深入分析 iBATIS 框架之系统架构与映射原理** iBATIS 是一个优秀的持久层框架,它允许开发者将 SQL 语句与 Java 代码分离,从而简化了数据库访问层的开发工作。本篇文章将深入探讨 iBATIS 的核心系统架构以及其...
首先,我们来看Mybatis或iBatis在XML配置文件中的多表映射。以学生、班级和班主任为例,学生与班级是一对多关系,班级与班主任是一对一关系。在`classInfo-mapper.xml`配置文件中,我们定义了三个`resultMap`:`...
《iBatis配置与映射文件详解》 iBatis,作为一个轻量级的持久层框架,以其灵活的SQL映射和良好的数据库交互性深受开发者喜爱。本文将深入解析iBatis的核心配置文件`sqlMapConfig.xml`,以及映射文件的使用方法,...
在网上下的eclipse abator插件自感觉不好用, 自已写了一个 基于oracle的,支持生成序列,pojo sqlmap.xml,dao daointerface,生成字段的注释 四个基本方法,增删改查, 写的时候基于oracle11的,低版本的可能在到得字段...