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语法上面
要熟练才行,烦是烦点,熟练了也没什么
分享到:
相关推荐
这个组合集成了强大的MVC(Model-View-Controller)框架Struts2、依赖注入与面向切面编程的Spring框架、轻量级持久层框架Ibatis以及关系型数据库管理系统MySQL。 1. **Struts2**:Struts2是Apache软件基金会下的一...
Struts2+Spring+Hibernate和Struts2+Spring+Ibatis是两种常见的Java Web应用程序集成框架,它们分别基于ORM框架Hibernate和轻量级数据访问框架Ibatis。这两种框架结合Spring,旨在提供一个强大的、可扩展的、易于...
在SpringMVC+Spring+Ibatis的架构中,多数据源配置是一项重要特性。这允许应用连接到多个数据库,根据业务需求选择合适的数据库进行操作。在Spring中,可以通过DataSourceRouter或AbstractRoutingDataSource实现动态...
接着,配置Spring的上下文配置文件(如applicationContext.xml),声明Bean及其依赖关系。最后,配置iBatis的SqlMapConfig.xml,定义数据源、事务管理器以及Mapper接口。 总的来说,这个"struts2+spring+iBatis框架...
"spring+ibatis配置实例"这个项目提供了一个完整的开发环境,包含所需的依赖包和标准化的项目结构,对初学者或开发者来说极具价值。 Spring是一个全面的Java应用框架,它提供了依赖注入(Dependency Injection,DI...
1. **配置文件**:如struts.xml、spring配置文件(可能包含applicationContext.xml和struts-spring.xml)、ibatis的配置文件(sqlMapConfig.xml)。 2. **实体类(Entity)**:表示数据库中的表结构。 3. **Mapper...
在提供的"spring+struts2+ibatis整合的jar包"中,lib1可能包含了这三个框架以及它们的依赖库。这些jar文件是运行整合应用必不可少的组件,它们包含了框架的API、实现和一些工具类,帮助开发者快速搭建和运行整合项目...
通过配置XML映射文件或注解,iBatis能够将Java对象与数据库表进行映射,方便数据的增删改查操作。 Oracle数据库是一个强大的关系型数据库管理系统,广泛用于企业级应用。在分页查询场景下,Oracle提供了一系列优化...
1. `ibatis-config.xml`是Ibatis的主要配置文件,包含数据库连接信息、类型别名、映射文件位置等配置。 2. 每个DAO接口对应一个XML映射文件,如`UserMapper.xml`,在其中定义SQL语句、结果映射等。 Spring+Struts+...
Struts、Spring 和 iBatis 是 Java Web 开发中三个非常重要的开源框架,它们共同构建了一个灵活、可扩展且易于维护的系统架构。这个"Struts+Spring+Ibatis示例"提供了一个基础的整合应用,帮助开发者理解这三者如何...
Struts、Spring和iBatis是Java开发中常用的三大开源框架,它们各自负责应用程序的不同层面,共同构建了一个灵活且强大的企业级应用开发解决方案。这里,我们深入探讨这三个框架以及它们如何协同工作。 **Struts框架...
在"spring+velocity+ibatis"的组合中,Spring作为核心框架,负责管理各个组件的生命周期和依赖关系,包括Velocity和iBATIS。Velocity用于生成动态Web页面,接收Spring传递的数据并进行渲染。而iBATIS则作为数据访问...
1. **引入依赖**:在项目中添加Struts2、Spring和iBatis的JAR包,以及相应的库依赖。 2. **配置Struts2**:在web.xml中配置Struts2的前端控制器,设置过滤器,以及Struts2的核心配置文件路径。 3. **配置Spring**...
Struts2、Spring、iBatis以及Oracle是Java Web开发中的四大核心组件,它们共同构建了一个强大且灵活的后端架构。在这个实例中,我们将会深入探讨这些技术如何协同工作,实现分页搜索功能和上传附件操作。 1. **...
iBatis特别适合于那些希望对SQL语句有更多控制权的开发者。 #### 五、配置文件详解 **1. web.xml** 这是Web应用的核心配置文件,主要定义了WebWork和Spring的初始化设置。 ```xml <filter-name>webwork ...
iBatis是一个SQL映射框架,它允许开发者将SQL语句直接写在配置文件中,减少了对JDBC的直接操作。在本项目中,iBatis将作为数据访问层,处理与MySQL数据库的交互。开发者会在iBatis的XML配置文件中定义SQL查询,包括...
Spring3还提供了对数据库操作的支持,包括JDBC模板和集成ORM(Object-Relational Mapping,对象关系映射)框架,如iBATIS。 iBATIS作为一个轻量级的ORM框架,主要解决了SQL语句与Java代码的分离问题,使得开发者...
3. **配置Spring**:创建applicationContext.xml配置文件,定义Bean的实例化和依赖关系。这里可以配置Struts2的Action类、Service层接口及其实现、以及数据源和SqlSessionFactory。 4. **配置iBatis**:创建mybatis...
1. **依赖注入(DI)**:Spring的核心特性之一,通过容器管理对象及其依赖关系,使得代码松耦合。 2. **面向切面编程(AOP)**:Spring支持AOP,允许定义横切关注点,如日志、事务管理等,提高代码复用性。 3. **...
1. **依赖注入(Dependency Injection, DI)**:Spring 的核心特性,允许通过配置文件或注解来管理对象及其依赖关系,降低耦合度。 2. **面向切面编程(Aspect-Oriented Programming, AOP)**:Spring 提供了基于...