`
qinya06
  • 浏览: 600556 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Spring + iBatis 1对多表关系配置

阅读更多
SqlMapConfig.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
    "http://www.ibatis.com/dtd/sql-map-config-2.dtd">

<sqlMapConfig>
    <sqlMap resource="com/model/domain/map/BlogCategory.xml"/>
    <sqlMap resource="com/model/domain/map/BlogItem.xml"/>
</sqlMapConfig>

BlogItem.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">

<sqlMap>

    <typeAlias alias="BlogItem"
        type="com.model.domain.BlogItem" />
    
    <resultMap id="get-blogitem-result" class="BlogItem">
        <result property="id" column="ID" columnIndex="1" />
        <result property="title" column="TITLE" columnIndex="2" />
        <result property="content" column="CONTENT" columnIndex="3" />
        <result property="createTime" column="CREATETIME"
            columnIndex="4" />
        <result property="blogCategory.id" column="ID"/>
        <result property="blogCategory.name" column="NAME"/>
        <result property="blogCategory.description" column="DESCRIPTION"/>
    </resultMap>

    <select id="getBlogItemById" parameterClass="int" resultMap="get-blogitem-result">
        select * from BLOG_ITEMS,BLOG_CATEGORYS WHERE CATEGORYID=BLOG_CATEGORYS.ID AND ID=#value#
    </select>

</sqlMap>


BlogCategory.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">

<sqlMap>

    <typeAlias alias="BlogCategory"
        type="com.model.domain.BlogCategory" />
        
    <resultMap id="get-blogcategory-result" class="BlogCategory" groupBy="id">
        <result property="id" column="ID" columnIndex="1" />
        <result property="name" column="NAME" columnIndex="2" />
        <result property="description" column="DESCRIPTION"
            columnIndex="3" />
        <result property="itemList" resultMap="get-blogitem-result"/>
    </resultMap>
    
    <select id="getBlogCategoryById" parameterClass="int"
        resultMap="get-blogcategory-result">
        select CATE.ID,CATE.NAME,CATE.DESCRIPTION,ITEM.ID,ITEM.TITLE,ITEM.CONTENT,
ITEM.CREATETIME,ITEM.CATEGORYID FROM BLOG_CATEGORYS as CATE 
left outer join BLOG_ITEMS AS ITEM on CATE.ID = ITEM.CATEGORYID WHERE CATE.ID = #value#;
    </select>

</sqlMap>

-------------------
注意:
iBatis多表操作时,如果配置文件多应当注意名称冲突,最好使用一个MAP配置使用namespace命名来区
别不同的resultMap
如:
<sqlMap namespace="XXX">
<result property="itemList" resultMap="XXX.get-blogitem-result"/>


一般现在1对多,多对多关系数据库操作用Hibernate方便多了.轻量级的iBatis配置起来在SQL语法上面
要熟练才行,烦是烦点,熟练了也没什么
分享到:
评论

相关推荐

    struts2+spring+ibatis+mysql

    这个组合集成了强大的MVC(Model-View-Controller)框架Struts2、依赖注入与面向切面编程的Spring框架、轻量级持久层框架Ibatis以及关系型数据库管理系统MySQL。 1. **Struts2**:Struts2是Apache软件基金会下的一...

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis是两种常见的Java Web应用程序集成框架,它们分别基于ORM框架Hibernate和轻量级数据访问框架Ibatis。这两种框架结合Spring,旨在提供一个强大的、可扩展的、易于...

    maven搭建SpringMVC+spring+ibatis

    在SpringMVC+Spring+Ibatis的架构中,多数据源配置是一项重要特性。这允许应用连接到多个数据库,根据业务需求选择合适的数据库进行操作。在Spring中,可以通过DataSourceRouter或AbstractRoutingDataSource实现动态...

    struts2+spring+Ibatis框架包

    接着,配置Spring的上下文配置文件(如applicationContext.xml),声明Bean及其依赖关系。最后,配置iBatis的SqlMapConfig.xml,定义数据源、事务管理器以及Mapper接口。 总的来说,这个"struts2+spring+iBatis框架...

    spring+ibatis配置实例

    "spring+ibatis配置实例"这个项目提供了一个完整的开发环境,包含所需的依赖包和标准化的项目结构,对初学者或开发者来说极具价值。 Spring是一个全面的Java应用框架,它提供了依赖注入(Dependency Injection,DI...

    struts+spring+ibatis的Demo

    1. **配置文件**:如struts.xml、spring配置文件(可能包含applicationContext.xml和struts-spring.xml)、ibatis的配置文件(sqlMapConfig.xml)。 2. **实体类(Entity)**:表示数据库中的表结构。 3. **Mapper...

    spring+struts2+ibatis整合的jar包

    在提供的"spring+struts2+ibatis整合的jar包"中,lib1可能包含了这三个框架以及它们的依赖库。这些jar文件是运行整合应用必不可少的组件,它们包含了框架的API、实现和一些工具类,帮助开发者快速搭建和运行整合项目...

    spring+ibatis+oracle分页缓存源码

    通过配置XML映射文件或注解,iBatis能够将Java对象与数据库表进行映射,方便数据的增删改查操作。 Oracle数据库是一个强大的关系型数据库管理系统,广泛用于企业级应用。在分页查询场景下,Oracle提供了一系列优化...

    Spring+Struts+ibatis讲解

    1. `ibatis-config.xml`是Ibatis的主要配置文件,包含数据库连接信息、类型别名、映射文件位置等配置。 2. 每个DAO接口对应一个XML映射文件,如`UserMapper.xml`,在其中定义SQL语句、结果映射等。 Spring+Struts+...

    Struts+Spring+Ibatis示例

    Struts、Spring 和 iBatis 是 Java Web 开发中三个非常重要的开源框架,它们共同构建了一个灵活、可扩展且易于维护的系统架构。这个"Struts+Spring+Ibatis示例"提供了一个基础的整合应用,帮助开发者理解这三者如何...

    struts+spring+ibatis框架

    Struts、Spring和iBatis是Java开发中常用的三大开源框架,它们各自负责应用程序的不同层面,共同构建了一个灵活且强大的企业级应用开发解决方案。这里,我们深入探讨这三个框架以及它们如何协同工作。 **Struts框架...

    spring+velocity+ibatis

    在"spring+velocity+ibatis"的组合中,Spring作为核心框架,负责管理各个组件的生命周期和依赖关系,包括Velocity和iBATIS。Velocity用于生成动态Web页面,接收Spring传递的数据并进行渲染。而iBATIS则作为数据访问...

    Struts2+spring+ibatis三大框架整合实例

    1. **引入依赖**:在项目中添加Struts2、Spring和iBatis的JAR包,以及相应的库依赖。 2. **配置Struts2**:在web.xml中配置Struts2的前端控制器,设置过滤器,以及Struts2的核心配置文件路径。 3. **配置Spring**...

    struts2+spring+ibatis+oracle+分页搜索+上传附件实例

    Struts2、Spring、iBatis以及Oracle是Java Web开发中的四大核心组件,它们共同构建了一个强大且灵活的后端架构。在这个实例中,我们将会深入探讨这些技术如何协同工作,实现分页搜索功能和上传附件操作。 1. **...

    Spring+Webwork+iBatis 组合实例

    iBatis特别适合于那些希望对SQL语句有更多控制权的开发者。 #### 五、配置文件详解 **1. web.xml** 这是Web应用的核心配置文件,主要定义了WebWork和Spring的初始化设置。 ```xml &lt;filter-name&gt;webwork ...

    struts2+spring+ibatis增删查改翻页代码示例

    iBatis是一个SQL映射框架,它允许开发者将SQL语句直接写在配置文件中,减少了对JDBC的直接操作。在本项目中,iBatis将作为数据访问层,处理与MySQL数据库的交互。开发者会在iBatis的XML配置文件中定义SQL查询,包括...

    struts2+spring3+ibatis项目整合案例

    Spring3还提供了对数据库操作的支持,包括JDBC模板和集成ORM(Object-Relational Mapping,对象关系映射)框架,如iBATIS。 iBATIS作为一个轻量级的ORM框架,主要解决了SQL语句与Java代码的分离问题,使得开发者...

    struts2 + spring + ibatis 整合例子

    3. **配置Spring**:创建applicationContext.xml配置文件,定义Bean的实例化和依赖关系。这里可以配置Struts2的Action类、Service层接口及其实现、以及数据源和SqlSessionFactory。 4. **配置iBatis**:创建mybatis...

    搭建spring mvc+spring+ibatis所需所有jar包

    1. **依赖注入(DI)**:Spring的核心特性之一,通过容器管理对象及其依赖关系,使得代码松耦合。 2. **面向切面编程(AOP)**:Spring支持AOP,允许定义横切关注点,如日志、事务管理等,提高代码复用性。 3. **...

    Spring+ibatis的jar包

    1. **依赖注入(Dependency Injection, DI)**:Spring 的核心特性,允许通过配置文件或注解来管理对象及其依赖关系,降低耦合度。 2. **面向切面编程(Aspect-Oriented Programming, AOP)**:Spring 提供了基于...

Global site tag (gtag.js) - Google Analytics