`

ibats不需要javabean靠map实现一对多例子配置

阅读更多

<sqlMap namespace="ProductClass">

      //产品小类结果集

<resultMap id="manyResult" class="java.util.HashMap">

<result property="xiaoid" column="xiaoid"/>

<result property="xiaoname" column="xiaoname"/>

<result property="parentid" column="parentid"/>

</resultMap>

    //产品大类结果集

<resultMap id="oneResult" class="java.util.HashMap">

<result property="daid" column="daid"  />

<result property="daname" column="daname" />

<result property="children" javaType="java.util.ArrayList" select="selectMany" column="daid" />

//这而的children属性javaType必须指定是java.util.List或java.util.Collection

</resultMap>

<select id="selectOne" resultMap="oneResult">

SELECT JZDL_DM as

daid,JZDL_MC

as daname from DM_JZDL

</select>

<select id="selectMany" resultMap="manyResult" parameterClass="string">

SELECT JZXL_DM as

xiaoid,JZXL_MC as xiaoname,JZDL_DM as parentid

from

DM_JZXL where

JZDL_DM=#daid#

</select>

 

</sqlMap>

 

 

<resultMap class="Department" id="dep" groupBy="id">

<result property="id" column="_id"/>

<result property="name" column="_name"/>

<result property="location" column="_location"/>

<result property="employees" resultMap="department.emp"/>

</resultMap>

 

<resultMap class="cn.com.legendapl.ibatis.domain.Employee" id="emp">

<result property="id" column="e_id"/>

<result property="name" column="e_name"/>

<result property="title" column="e_title"/>

</resultMap>

 

<select id="query" parameterClass="java.util.Map" resultMap="dep">

select

d._id,

d._name,

d._location,

e._id as e_id,

e._name as e_name,

e._title as e_title

from

t_dep as d

left join

t_emp as e

on

d._id = e._dep_id

<dynamic prepend="where">

<isNotEmpty property="id" prepend="and"> d._id = #id# </isNotEmpty>

</dynamic>

   </select>

 

 

 

在名为dep的resultMap中配置一项groupBy="id",这样,ibatis在处理结果集时,把id相同的几项“看成”一项来处理。 
注意:groupBy属性的配置,是指的映射到的模型的property name 而不是查询的结果集的列名。 

分享到:
评论

相关推荐

    iBATS文档

    **SQL Map XML 配置文件** 是 iBATS 中的核心配置文件之一,用于指定各种配置信息,包括属性设置、别名定义、事务管理器和数据源等。 ##### 《属性》元素 此元素用于定义全局的属性,这些属性可以在整个配置文件中...

    s2si struts2+spring+ibats框架的留言本,oracle数据库

    【标题】"s2si struts2+spring+ibatis框架的留言本,oracle数据库"是一个基于Java技术的Web应用程序示例,它演示了如何整合Struts2、Spring和iBatis这三大流行框架来构建一个功能完善的系统。这个项目以留言本为应用...

    spring mvc+ibats实例

    在Spring MVC中集成iBatis,通常需要配置Spring的DataSource、SqlSessionFactoryBean、MapperScannerConfigurer等。MapperScannerConfigurer会扫描指定包下的Mapper接口,Spring会自动创建对应的SqlSessionTemplate...

    STRUTS+Spring+Ibats

    1. 配置Struts:在struts-config.xml中定义Action,但不直接创建其实例,而是引用Spring中的Bean ID。 2. 配置Spring:在applicationContext.xml中定义Bean,包括Action、Service以及iBatis的相关配置,如DataSource...

    ibats operation

    "ibats Operation" 主要涉及的是一个名为 "ibats" 的系统或工具的运维操作,包括添加、修改、删除和查询等基本功能。这个系统似乎与SQL Server 2008有紧密关联,意味着它可能依赖于SQL Server 2008作为其后台数据库...

    ibats框架利用代码样例

    2. **数据驱动测试**:`ibats`支持数据驱动测试,允许测试脚本从外部数据源(如CSV文件)获取输入数据,实现同一测试逻辑的多次执行,适用于多数据组合测试。 3. **测试套件**:测试套件是一组相关的测试脚本,它们...

    ibats动态插入避免抛xx列类型不存在错误异常

    - 当需要插入的字段数量较多且可能存在部分字段为`null`的情况时。 - 在处理用户输入或外部系统提供的数据时,这些数据可能不完整或格式不一致。 #### 七、总结 通过使用ibats框架中的动态SQL构建功能,特别是结合...

    SSI框架集成实例(struts2,spring,ibats)

    1. **src/main/java**:包含了Action类、Service接口及实现、DAO接口及实现、配置类等Java源码。 2. **src/main/resources**:存放Spring配置文件(如`applicationContext.xml`)、iBatis配置文件(`sqlMapConfig....

    ibatis小例子

    iBatis提供了一种灵活的方式,使得数据库交互变得更加简单,而不需要传统ORM(对象关系映射)框架那样的复杂性。 【描述】中的“没学过 iabats的童靴注意了”表明这个例子是为初学者准备的,目的是帮助那些不熟悉...

    sql-map-config-2.dtd

    sql-map-config-2.dtd ibats的dtd文件

    spring+struts2+ibats整合流程原理

    帮你快速理解spring+struts2+ibats的整合流程原理

    ibatis3源码+驱动

    本文将围绕标题"ibatis3源码+驱动",对iBatis3的核心功能、设计理念、源码结构以及驱动机制进行详尽的剖析,帮助开发者深入了解这一强大工具。 首先,iBatis3的核心在于其SQL映射框架,它将SQL语句与Java代码分离,...

    Python库 | IBATS_Common-0.6.17-py3-none-any.whl

    资源分类:Python库 所属语言:Python 使用前提:需要解压 资源全名:IBATS_Common-0.6.17-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    abator-插件包(改造版),ibatis开发辅助

    Abator 是一个基于 Apache License 的开源项目,它是一款强大的代码生成工具,主要用于简化基于 MyBatis 框架的数据库模型、DAO 接口、Mapper XML 文件以及 Service 层代码的自动化生成工作,大大提高了开发效率。...

    使用ibatis操作大对象,mySQl数据库

    综上所述,使用iBatis操作MySQL中的大对象涉及数据库配置、表结构设计、Mapper接口和XML映射、流式处理、性能优化以及事务管理等多个方面。正确理解和运用这些知识点,能够有效地处理和管理大对象数据,确保系统的...

    第一个JPA演示程序

    理由:持久层技术从EJB 2.0的实体bean开始,相继出现JDO, Hibernate, iBats等技术,到今天统一的标准JPA出现。因为JPA是一种标准,所以它是我们Java程序员应该主动掌握的技术。该技术与EJB 3.0配合使用,相信会在...

    WEB项目开源框架选择

    相反,iBats(Apache Batik)提供了半自动化的SQL映射,允许更灵活的手动配置,适合对数据库操作有较高灵活性需求的项目。对于以读为主、写为辅的系统,如报表系统,使用自定义的MyJdbcDaoSupport结合Spring的事务...

    velocity demo

    【标题】"Velocity Demo"揭示了这是一个关于Velocity模板引擎的实际应用示例。Velocity是Apache软件基金会的一个开源项目,它是一个用于Java平台的快速、强大且轻量级的模板引擎,主要用于生成动态Web内容。在Java ...

Global site tag (gtag.js) - Google Analytics