Spring + iBatis 1对多表关系配置

转载 2012年03月23日 15:43:46
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语法上面 
要熟练才行,烦是烦点,熟练了也没什么

Hibernate 多表映射关系配置

  • 2008年10月31日 12:53
  • 52KB
  • 下载

MyBatis 表与表之间的关系 1对多的情况

1.一对多的情况。在多的实体对象里会出现一的实体对象的属性: 帖子分类          帖子 (1)            (n) 实现的原理:不改变原有的实体类。加入实体与实体之间的...

Hibernate4种多表关系实例

  • 2008年01月17日 15:20
  • 31KB
  • 下载

ibatis中多表联接查询

目前,我在做项目的时候,用到了spring + struts2 +ibatis 框架。平时用到的都是一张简单的表,来进行数据的增、删、改、查。而现在突然需要用到其它的一张表,或多张表进行联接查询,...

ibatis中多表联接查询

在spring + struts2 +ibatis 框架中 怎么解决多表连接查询。

JAVA执行mysql脚本和mysql相关命令(alter table示例/多表更新/Insert Into Select/多表查询) 及ibatis模糊查询(concat用法)

MYSQL常用命令列表   11

MySQL第四天---多表操作(1对1、1对多、多对多)

※多表操作 (凡是多表,都要用到关联技术(把多表合并成一个新表): 左关联、右关联、内关联。还有一个外(全)关联,MySQL不支持,为考虑软件兼容,我们开发一般不用。) ※表与表之间的关系:1对1,1...

Day40-Hibernate03(多表操作、配置多表关系、级联、放弃外键维护权)

Hibernate03(多表操作、配置多表关系、级联、放弃外键维护权)
  • jjizh
  • jjizh
  • 2017年07月31日 16:54
  • 521

struts2+hibernate+spring多表操作示例

  • 2010年11月10日 13:07
  • 36KB
  • 下载

Struts2+Ibatis+Spring.30(完整例子,含3.0事务配置,OSCache缓存配置,JreeChart配置,log4j日志输出Sql,对一个表实现完整的查询,批量删除,添加,更新)

1.新建表 create table ( id int  identity(1,1) primary key, loginid varchar(10), username varchar(2...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Spring + iBatis 1对多表关系配置
举报原因:
原因补充:

(最多只允许输入30个字)