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语法上面 
要熟练才行,烦是烦点,熟练了也没什么

相关文章推荐

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

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

Hibernate4种多表关系实例

  • 2008-01-17 15:20
  • 31KB
  • 下载

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

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

ibatis中多表联接查询

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

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

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

Oracle 多表 连接 顺序 与 性能关系 测试

一. 创建表并insert 数据create table ta (id number,name varchar2(10));create table tb(id number,job varchar2...

Openstack_SQLAlchemy_一对多关系表的多表插入实现

目录目录 Openstack 与 SQLAlchemy 一个多表插入的 Demo 小结Openstack 与 SQLAlchemySQLAlchemy 是 Python 语言下的一款开源软件,它提供了...
  • Jmilk
  • Jmilk
  • 2016-09-25 16:33
  • 1897

mysql学习(5):多表之间的关系

mysql相互关联的表之间存在一对一,一对多(多对一),多对多的关系。 1,一对一的关系 这种关系即多个表具有相同的主键,实际中用的并不多,因为完全可以将这种关系的合并为同一张表。 2,一对多(多对一...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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