??xml version="1.0" encoding="utf-8" standalone="yes"?>午夜亚洲福利在线老司机,亚洲AV无码一区二区三区牲色,亚洲av无码有乱码在线观看http://m.tkk7.com/rosen/category/2688.html?Blog 是从Qhttp://blog.csdn.net/rosen 搬来?lt;br/>zh-cnSun, 02 Mar 2008 11:56:21 GMTSun, 02 Mar 2008 11:56:21 GMT60Apache Cayenne—G椒你吃了吗?http://m.tkk7.com/rosen/archive/2006/07/31/60972.htmlRosenRosenMon, 31 Jul 2006 03:10:00 GMThttp://m.tkk7.com/rosen/archive/2006/07/31/60972.htmlhttp://m.tkk7.com/rosen/comments/60972.htmlhttp://m.tkk7.com/rosen/archive/2006/07/31/60972.html#Feedback1http://m.tkk7.com/rosen/comments/commentRss/60972.htmlhttp://m.tkk7.com/rosen/services/trackbacks/60972.html    Apache Cayenne 是一个强大而易于掌握的 Java  ORM 框架。它是开源且完全免费的。Cayenne 提供?Java 对象到关pd数据库的持久化映管理,单方法调用查询和更新Q包括细_度的更新所有被修改的对象)Q无~隙的把多种数据库集成到单一虚拟数据源中。Cayenne ?CayenneModeler 分配——完整的 GUI 映射工具。Cayenne 已被成功部v在高负蝲的生产环境中?br />   
    在吸取了q大用户的徏议的基础上发布了 1.2 版本。这个版本中最重要的新Ҏ(gu)是“远E对象持久化(Remote Object Persistence)”,是?Cayenne 转变成一个独立的数据服务器,以便q程应用能访问。目前,仅仅用于 Java 客户端程序(常常用于 Swing ?SWT“富客户端”应用)Q但开发者计划将客户端用其他语言来实现。ORM-?WS 把熟(zhn)的 ORM 世界提供l远E客L(fng)。即关系的gq粒度、本地缓存、数据请求、单Ҏ(gu)调用多对象的提交、等{。也是服务器和客户端层׃n同样的抽象对象模型和相同?Cayenne 持久 API?br />   
    Cayenne 最早由几名E序员在 2001 q的亚特兰大构思。这个项目目的在于构Z个开源的 ORM 框架Q当时还没有q样的品)Q最初的设计灉|源于 NeXT/Apple 企业对象架构QEnterprise Objects Framework,EOFQ。在 2002 q的U天QCayenne 1.0 alpha 版成功地?NHL.com |站Q全国曲球联合?x))上运用。第一个官方稳定版?2003 q?9 月发布。从那以后,Cayenne 在全球大大小的组l(译注Q这些机构、组l的|站Q上部v?006 q春QCayenne 被接Uؓ(f) Apache 软g基金?x)孵化器目Qƈ立志成ؓ(f) Apache 目Q译注:(x)也许是指?iBATIS 一P?br />   
    在了解了 Cayenne 的前世今生后Q来听听用户的声韟?br />   
     “我们?Cayenne 已经?6 个月了,Zq个框架构徏了多?web 应用Q发现它是一U生产效率很高的工具。基?Cayenne 建模和开发是非常奇的事情。你可以创徏新表或更新已存在的表Q接着点击很少的按钮你的数据库构建好了,所有类也生成了。在q行E序快速开发时Q这一分钟的持久化变动是非常有效率的。下面我?Cayenne 1.2 ?Hibernate 3.0 做一比较QCayenne 是更有生产力的工具集Q主要是׃它的数据库生成和代码生成Ҏ(gu)上Q用h需书写和维?XML 映射文g。?Hibernate 有着更加强大的查询语a。Cayenne 的设计更加适合 web 应用E序。对?ThreadLocal ?HttpSession 的支持,事务模式以及(qing)q接池都可以直接拿来q。如果是 Hibernate 的话Q用户必自己找q些插g或者利?Spring ?Hibernate 的支持。Cayenne ?DataObjects 一直都处于q接状态,无需遭受 Hibernate 的“lazy initialization exception”之苦。Hibernate 更好的支持了 PK ?FK 设计的关联数据表。如果用户遵循设计模式,?Cayenne 中也可以直接?PK 代理。?br />                                                                                                    —?Malcolm Edgar
     
    “我x好的Ҏ(gu)是无需关闭数据库连接或?x)话。如果我使用 HibernateQ我必须手工关闭?x)话Q我没用 springframeworkQ,q样太繁琐了Q而且Ҏ(gu)误操作。换?Cayenne 的话Q我无需兛_数据库连接或 JDBC 异常。?br />                                                                                                    —?lyo Yashnoo
   
    “我?Cayenne 差不多一q半了,我想说的是真的太好了Q徏模工具很强大q且架构也非常成熟、高效!?br />                                                                                                    —?Pedro Costa


h意!引用、{贴本文应注明原作者:(x)Rosen Jiang 以及(qing)出处Q?/font>http://m.tkk7.com/rosen



Rosen 2006-07-31 11:10 发表评论
]]>
Hibernate 3 FormulasQ翻译)http://m.tkk7.com/rosen/archive/2005/09/19/13317.htmlRosenRosenSun, 18 Sep 2005 16:08:00 GMThttp://m.tkk7.com/rosen/archive/2005/09/19/13317.htmlhttp://m.tkk7.com/rosen/comments/13317.htmlhttp://m.tkk7.com/rosen/archive/2005/09/19/13317.html#Feedback5http://m.tkk7.com/rosen/comments/commentRss/13317.htmlhttp://m.tkk7.com/rosen/services/trackbacks/13317.html    Hibernate ?Spring q两个突出的开源框架被来多的应用到 J2EE 中。尽目标有着不同的问题空_(d)它们却共享一个关键特性:(x)依赖注入。在对象q回到客L(fng)之前 Spring 协助挑选出q些对象间依赖关p,减少客户端代码量。?Hibernate 专门挑选出在完整的对象模型q回客户端之前由数据模型表现的依赖关pR当使用 JDBC 直接从数据模型映到对象模型Ӟ我们通常需要书写大量的代码来构建对象模型。Hibernate 的出现淘Cq种J琐的编码工作?BR>   
    Hibernate 2.x 提供基本的表到对象的映射Q标准关联映(包括 one-to-one, one-to-many 以及(qing) many-to-many 关系Q,多态映,{等。Hibernate 3.x 沿着路线l箋前进Qformula、filter、subselect {,使映更加灵z,提供用细_度的解释特性?BR>   
    在本文中Q将阐述 formula 到底有哪些特性可帮助我们q行模型转换。Hibernate 3.x 之前Qformula 属性只能出现在 property 元素中。但是到了现在,你可以在许多元素中?Hibernate 3.x 提供?formula 属性或元素Qformula 用法斚w都是一L(fng)Q,包括 discriminator、element、many-to-many、map-key、map-key-many-to-many、以?property。它增加?OR 映射的灵zL,因此允许对复杂数据模型更加细_的解释?BR>   
    下面有两?formula 应用场景Q?BR>   
    1. formula 用于评估l果的场合。在 discriminator、element、map-key、map-key-many-to-many以及(qing) property 元素中注?formula?BR>    2. formula 用于q接目的的场合。在 many-to-one、one-to-one 以及(qing) many-to-many 元素中注?formula?BR>   
范畴 1Q从 formula 获得评估l果
   
    Discriminator
   
    在真实的数据 schema 中,l常出现一个表被用于描q其他表的情c(din)formula 可协助提供灵zȝ多?OR 映射?BR>   
    在图 1 的范例中Q有两个表:(x)Product ?ProductRelease。每?product 记录都有一?ProductReleaseID 参考相应的产品出厂记录Q包?product release name、type、release date {等?BR>
          Product and Product Release Data Model
                       ?1. Product ?product release
   
    ProductRelease 表中有个有趣的属?SubProductAllowableQ该属性的gؓ(f) 1 ?0。gؓ(f) 1 代表允许M的次品出厂,但是 0 不允许次品出厂?BR>   
    ?2 展示了由数据模型解释的对象模型。Nested 接口定义?getSubProducts ?setSubProducts Ҏ(gu)。NestedProduct cȝ?Product 基类q实?Nested 接口。无Z品数据记录是 Product ?NestedProductQ都取决于品出厂记录中 SubProductAllowable 的倹{?BR>
        Product and Product Release Object Domain Model
                     ?2. Product 和品出厂对象域模型
   
    Z完成模型转换Q我们用如下的 Hibernate 3.x 映射Q?BR>    

<hibernate-mapping>
  
<class name="Product" 
        discriminator-value
="0"  lazy="false">
    
<id name="id" type="long"/>       
    
<discriminator 
        
formula="(select pr.SubProductAllowable 
                from ProductRelease pr 
                where pr.productReleaseID=
                        productReleaseID)"

        type
="integer" />
    
<subclass  name="NestedProduct"  
        discriminator-value
="1"/>
  
</class>
</hibernate-mapping>

    如果 formula 表达式评估结果ؓ(f) 0 ӞQ也是不允许次品出厂-Q那么对象将?Product cR如果结果是 1Q那么对象将?NestedProduct。在?1 ?2 中,?Product 的第一条记录(ProductID=10000001Q,已初始化的类是 NestedProductQ因为它参考一?SubProductAllowable=1 ?ProductRelease 记录。表 Product 的第二条记录QProductID=20000001Q,已初始化的类是 ProductQ因为它参考一?SubProductAllowable=0 ?ProductRelease 记录?BR>   
S/N ProductReleaseID SubProductAllowable ...
1 11 1 ¡­
2 601 0 ¡­
        ?1. ProductRelease 表中的记?BR>   
S/N ProductID ProductReleaseID ...
1 10000001 11 ¡­
2 20000001 601 ...
        ?2. Product 表中的记?BR>   
    Property
   
    ?property 元素中的 formula 允许对象属性包含特定引伸|比如对结果进?sum、average、max {等?/P>

<property name="averagePrice" formula="(select avg(pc.price) from PriceCatalogue pc, SelectedItems si where si.priceRefID=pc.priceID)"/>

    此外Qformula 也能协助从基于当前记录的特定值向其它表检索数据。例如:(x)

<property name="currencyName" formula="(select cur.name from currency cur where cur.id= currencyID)"/>

    q将由助于从 currency 表检?currency name。正如你所看到的,q样直接映射可消除许多{换编码?BR>   
    map-key
   
    formula 允许 map-key 持有M可能的倹{下列范例(?3Q,我们惌 Role_roleID 成ؓ(f)对象模型?map-keyQ图 4Q?BR>
                 User Role Data Schema   
                          ?3. 用户角色数据 schema

   User Role Object Model
                            ?4. 用户角色对象模型
   
    在前面的数据 schema 中,User ?Role ?User_has_Role 通过 many-to-many 关系兌调用。ؓ(f)了获取某?User 所有的指派角色Q我们进行如下映:(x)

<hibernate-mapping>
  
<class name="User">
    
<id name="userID"/>
    
<map name="roles"  
        table
="UserRole"/>
      
<key column="User_userID"/>
      
<map-key 
        
formula="Role_RoleID" 
        type
="string"/>
      
<many-to-many 
        
column="Role_RoleID"
        class
="Role"/>
    
</map>
  
</class>
  
<class name="Role">
    
<id name="roleID"/>
  
</class>
</hibernate-mapping>

    Role_RoleID 通常用于q接 many-to-many 元素的栏位倹{Hibernate 通常不允?Role_RoleID 出现?map-key ?many-to-many 的栏位属性中。但是有?formulaQRole_RoleID 也能用于 map-key?BR>   
    element、map-key-many-to-many 以及(qing)其他
   
    element ?property cMQ能从Q何有效的 formula 表达式赋予评估倹{?BR>   
    map-key-many-to-many ?formula 的用法类g map-key。但是,map-key-many-to-many 通常用于三重关系Qmap key 是一个被自己参考的对象Q而不是被参考的属性?BR>   
    那么Q到底哪些情况下 formula 不支持呢Q有些数据库Q例?Oracle 7Q就不支持嵌入式 select 语句Q也是说一?select SQL 内嵌在另外一?select SQL 语句中)Q这U情?formula ׃支持评估l果。因此,你应该首先检查嵌入式 select SQL 语句是否被支持?BR>   
    一?Hibernate 的映拿 formula 表达式作?select SQL 选取的一部分Q请认数据?SQL 方言是否允许使用 formulaQ尽这样将降低代码M性?BR>   
范畴 2Qformula 用于q接

    many-to-one
   
    另一个普遍的场景是真实世界的数据模型是所有者关pL,q意味着映射是不同于 one-to-one、one-to-many 以及(qing) many-to-many 关系的,formula 是提供所有者关pȝ理元素中的一个。图 5 展示了某公司可有多个联系人,但是其中只有一个ؓ(f)默认联系人的范例。一个公司有多个联系人是典型?one-to-many 关系。但是,Z标识默认联系人,ContactPerson 表用了 defaultFlag 参数Q? ?yes, 0?noQ?BR>
               
                        ?5. 用户角色数据 schema

             
                           ?6. 用户角色对象模型
   
    Z说明对象模型Q图 6Q中默认联系人关p,我们使用如下映射文gQ?FONT color=#000080>

<hibernate-mapping>
  
<class name="Company" table="Company">
    
<id name="id" />
    
<many-to-one 
      
name="defaultContactPerson" 
      property-ref
="defaultContactPerson">
        
<column name="id"/>
        
<formula>1</formula>
        
</many-to-one>
  
</class>
  
<class name="Person" >
    
<id name="id" />
    
<properties name="defaultContactPerson">
        
<property name="companyID" />
        
<property name="defaultFlag" />
    
</properties>
  
</class>
</hibernate-mapping>

    如上Q我们把 companyID ?defaultFlag l织到名?defaultContactPerson ?properties 元素中,做ؓ(f) Person 表的 unique key。Company cM?many-to-one 元素q接 Person 表的 defaultContactPerson properties 元素。输出的 SQL 像这P(x)
   
    select c.id, p.id from Company c, Person p where p.companyID=c.id and p.defaultFlag=1
   
    one-to-one
   
    Hibernate 中,one-to-one 主要用于两张表共享同一主键的情c(din)对于外键关联,我们通常使用 many-to-one 来代ѝ但是,有了 formulaQone-to-one 可以通过外键q接表。上面的 many-to-one 范例可以通过 one-to-one 来映:(x)

<hibernate-mapping>
  
<class name="Company" table="Company" >
    
<id name="id" />
    
<one-to-one name="defaultContactPerson" 
        property-ref
="defaultContactPerson" >
    
<formula>id</formula>
    
<formula>1</formula>
    
</one-to-one>
  
</class>
  
<class name="Person" >
    
<id name="id" />
    
<properties name="defaultContactPerson">
      
<property name="companyID" />
      
<property name="defaultFlag" />
    
</properties>
   
</class>
</hibernate-mapping>

    many-to-many
   
    formula 用于?many-to-many 元素为关p表和实体表q接的特D关p,管通常没有必要q样用?BR>   
ȝ

    文章范例展示了大部分 formula 的适用情景。当需?formula 评估值时Qformula 表达式将出现?产生?SQL 语句?select 部分。当 formula 用于q接Ӟ它出现在产生?SQL 语句?where 部分。此外,formula 表达式可用于M SQL 方言Q只要目标数据库支持。最后,formula 可协助完成从数据模型到对象模型的无代码细_度映射?BR>

h意!引用、{贴本文应注明原译者:(x)Rosen Jiang 以及(qing)出处Q?/FONT>http://m.tkk7.com/rosen



Rosen 2005-09-19 00:08 发表评论
]]>iBATIS 动向http://m.tkk7.com/rosen/archive/2005/08/12/9938.htmlRosenRosenFri, 12 Aug 2005 07:12:00 GMThttp://m.tkk7.com/rosen/archive/2005/08/12/9938.htmlhttp://m.tkk7.com/rosen/comments/9938.htmlhttp://m.tkk7.com/rosen/archive/2005/08/12/9938.html#Feedback0http://m.tkk7.com/rosen/comments/commentRss/9938.htmlhttp://m.tkk7.com/rosen/services/trackbacks/9938.html    今年q初Q有q接触到?iBATISQƈ׃C星期来写了点使用心得Q?/FONT>http://m.tkk7.com/rosen/archive/2005/08/12/9931.htmlQ。半q多q去QiBATIS 发生了很大的变化Q?005 q?5?1 日,iBATIS 孵化成功Q今天已正式成ؓ(f) Apache 官方目Q?http://www.ibatis.com 域名已重定向?http://ibatis.apache.org。说说变化吧QiBATIS 产品pd中,iBATIS SQL Maps 更名?iBATIS Data Mapper 分ؓ(f) for .NET ?for Java 两个版本QiBATIS DAO 的名U未变,在原?for Java 的基上增加了 for .NET 版本Q当然最后还包括官方?iBATIS PetStore 范例?BR>              
    目前 iBATIS Data Mapper for JavaQ以下简U?iBATIS Data MapperQ的版本?2.1.5。当前以?qing)未来?iBATIS Data Mapper 加入以下新特征?BR>   
   
来自W三方的贡献
   
    Alex Egorov ?SQL Map 生成器(
http://alxeg.narod.ru/ibatis/index.htmlQ。Alex 创徏了一些便利的脚本来生成你所有的 SQL Maps ?VO。如果你正在Lq种快速开发工P它将是个可以一试的工具。这个站Ҏ(gu)Ҏ(gu)Q但是这点等待L你手工编码的旉来得快?BR>    DDL如下Q?/FONT>

 CREATE TABLE USER_PROPERTY (      
    USER_ID BIGINT NOT NULL,
    FIRST_NAME VARCHAR(100) DEFAULT '',
    LAST_NAME VARCHAR(100),
    BIRTH_DATE TIMESTAMP(8),
    PRIMARY KEY (USER_ID)
);

VO如下Q?/FONT>

 package org.mystuff.db;


// WARNING: This is an autogenerated file


public class UserProperty {

    // Constructors
    public UserProperty() {
    }
    public UserProperty(long _userId) {
        this.userId = _userId;
    }

    // Fields
    private String firstName;
    public String getFirstName() {
        return firstName;
    }
    public void setFirstName(String _firstName) {
        this.firstName = _firstName;
    }

    private java.util.Date birthDate;
    public java.util.Date getBirthDate() {
        return birthDate;
    }
    public void setBirthDate(java.util.Date _birthDate) {
        this.birthDate = _birthDate;
    }

    private String lastName;
    public String getLastName() {
        return lastName;
    }
    public void setLastName(String _lastName) {
        this.lastName = _lastName;
    }

    private long userId;
    public long getUserId() {
        return userId;
    }
    public void setUserId(long _userId) {
        this.userId = _userId;
    }
}

映射文g如下Q?BR>
 
<?xml version='1.0'?>

<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
    "http://www.ibatis.com/dtd/sql-map-2.dtd">


<!-- WARNING: This is an autogenerated file -->

<sqlMap name="UserProperty">

    <cacheModel id="userproperty-cache" type="MEMORY">
        <flushInterval hours="24"/>
        <flushOnExecute statement="insertUserProperty"/>
        <flushOnExecute statement="updateUserProperty"/>
        <flushOnExecute statement="deleteUserProperty"/>
        <property name="reference-type" value="WEAK" />
    </cacheModel>

    <resultMap class="org.mystuff.db.UserProperty" id="userproperty-result" >
        <result property="firstName" column="FIRST_NAME" />
        <result property="birthDate" column="BIRTH_DATE" />
        <result property="lastName" column="LAST_NAME" />
        <result property="userId" column="USER_ID" />
    </resultMap>

    <select id="getUserProperty" resultClass="org.mystuff.db.UserProperty" 
parameterClass="org.mystuff.db.UserProperty" resultMap="userproperty-result" >
        <![CDATA[
            select * from USER_PROPERTY
            where  USER_ID = #userId#
        ]]>
    </select>

    <update id="updateUserProperty" parameterClass="org.mystuff.db.UserProperty">
        <![CDATA[
            update USER_PROPERTY
            set  FIRST_NAME = #firstName# ,  BIRTH_DATE = #birthDate# 
            ,  LAST_NAME = #lastName#
            where  USER_ID = #userId#
        ]]>
    </update>

    <insert id="insertUserProperty" parameterClass="org.mystuff.db.UserProperty">
        <![CDATA[
            insert into USER_PROPERTY(FIRST_NAME, BIRTH_DATE, LAST_NAME, USER_ID)
            values(#firstName#, #birthDate#, #lastName#, #userId#)
        ]]>
    </insert>

    <delete id="deleteUserProperty" parameterClass="org.mystuff.db.UserProperty">
        <![CDATA[
            delete  from USER_PROPERTY
            where  USER_ID = #userId#
        ]]>
    </delete>

</sqlMap>

    Jasmine IDE iBATIS GUIQ?/FONT>http://jasmineide.sourceforge.netQ。在构徏映射文g、VO、DAO c(不是 iBATIS ?DAOQ而是一个调?sqlclient Ҏ(gu)?java c)斚wq是最好的了,通过点击几下鼠标可生成。这个工具允怽建立一个项目ƈ讄 DB q接q同所有通常用到的配|文件。(首先你需要设|自q DB q接Q确定你的驱动程序和所?jar 都在pȝc\径中Q?BR>             
   

    我想Q随着旉的推U,?x)有更多的开发者加入ؓ(f) iBATIS ȝ加瓦的行列?BR>   
    重要改进议题
       
   
http://wiki.apache.org/ibatis/Improved_Dynamic_SQL_Whiteboard q里正在讨论关于改进动?SQL 的白板,?iBATIS Data Mapper 在动?SQL 斚w更强大。另外,当开发某个有着大量查询和大量数据的pȝӞ通常也会(x)对这些数据的子集q行开发。“记录长旉q行的查询”功能将加快开发进度,能帮助开发者或 DBA 了解哪个查询慢或未优化Q找出潜在瓶颈。ؓ(f)了引入这U新Ҏ(gu),也许?x)修?sqlmap 配置文gQ比如默认(f)界|Q也?x)?mapped statement 中增加新属性(用来覆盖默认临界|?BR>

h意!引用、{贴本文应注明原作者:(x)Rosen Jiang 以及(qing)出处Q?/FONT>http://m.tkk7.com/rosen



Rosen 2005-08-12 15:12 发表评论
]]>
Hibernate、iBATIS ?BLOBhttp://m.tkk7.com/rosen/archive/2005/08/12/9937.htmlRosenRosenFri, 12 Aug 2005 07:06:00 GMThttp://m.tkk7.com/rosen/archive/2005/08/12/9937.htmlhttp://m.tkk7.com/rosen/comments/9937.htmlhttp://m.tkk7.com/rosen/archive/2005/08/12/9937.html#Feedback6http://m.tkk7.com/rosen/comments/commentRss/9937.htmlhttp://m.tkk7.com/rosen/services/trackbacks/9937.html阅读全文

Rosen 2005-08-12 15:06 发表评论
]]>
iBATIS SQL MapsQ四Q?/title><link>http://m.tkk7.com/rosen/archive/2005/08/12/9936.html</link><dc:creator>Rosen</dc:creator><author>Rosen</author><pubDate>Fri, 12 Aug 2005 06:55:00 GMT</pubDate><guid>http://m.tkk7.com/rosen/archive/2005/08/12/9936.html</guid><wfw:comment>http://m.tkk7.com/rosen/comments/9936.html</wfw:comment><comments>http://m.tkk7.com/rosen/archive/2005/08/12/9936.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/rosen/comments/commentRss/9936.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/rosen/services/trackbacks/9936.html</trackback:ping><description><![CDATA[ <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">q一章节是本pd文章最后一。经历过前三文章的z礼Q相信你?/span> <span style="FONT-FAMILY: Arial"> </span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">iBATIS SQL Maps </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">有比较详l的认识了吧Q?/span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">来看看新需求:(x)</span> <span lang="EN-US" style="FONT-FAMILY: Arial"> <p> </p> </span> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">张三后来做生意,自己l营得很好,打算再买辆R跑运输。对于第二次买RQR辆管理系l的</span> <span lang="EN-US" style="FONT-FAMILY: Arial"> PEOPLE </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">表原本已l记录了他的基本信息Q遂不对</span> <span lang="EN-US" style="FONT-FAMILY: Arial"> PEOPLE </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">表操作。只?/span> <span lang="EN-US" style="FONT-FAMILY: Arial"> AUTO_INFO</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">?/span> <span lang="EN-US" style="FONT-FAMILY: Arial"> insert </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">一条R辆记录即可?/span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">新需求所用到的技术要炚w在?/span> <span lang="EN-US" style="FONT-FAMILY: Arial"> <a >iBATIS SQL Maps<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">Q二Q?/span></a> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">》和?/span> <span lang="EN-US" style="FONT-FAMILY: Arial"> <a >iBATIS SQL Maps<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">Q三Q?/span></a> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">》中出现q了。请看映文Ӟ(x)</span> <span lang="EN-US" style="FONT-FAMILY: Arial"> </span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US"> <p> </p> <table style="WIDTH: 524px; HEIGHT: 100px" height="100" cellspacing="0" cellpadding="0" width="524" border="1"> <tbody> <tr> <td> <p> <font size="2"><?xml version="1.0" encoding="UTF-8"?></font> </p> <p> <font size="2"><!DOCTYPE sqlMap<br />    PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"<br />    "</font> <a > <font size="2">http://www.ibatis.com/dtd/sql-map-2.dtd</font> </a> <font size="2">"></font> </p> <p> <font size="2"><sqlMap></font> </p> <p> <font size="2">  <insert id="insertAutoInfo" parameterClass="bo.AutoInfo"><br />    <![CDATA[ <br />      insert into auto_info (license_plate, owner_no) values (#licensePlate#, #ownerNo.id#)<br />    ]]><br />  </insert></font> </p> <p> <font size="2">    <resultMap id="get-autoInfo-result" class="bo.AutoInfo"><br />        <result property="id" column="auto_id"/><br />        <result property="licensePlate" column="license_plate"/><br />    </resultMap></font> </p> <p> <font size="2">    <resultMap id="get-people-result" class="bo.People"><br />        <result property="id" column="owner_id"/><br />        <result property="name" column="name"/><br />        <result property="address" column="address"/><br />        <result property="autoInfoList" column="owner_id" select="getAutoInfo"/><br />    </resultMap></font> </p> <p> <font size="2">  <select id="getPeople" resultMap="get-people-result" parameterClass="bo.People"><br />       <![CDATA[ <br />       select * from people<br />       ]]><br />       <dynamic prepend="where"><br />         <isNotNull property="id"><br />           <![CDATA[ <br />           owner_id=#id#<br />           ]]><br />         </isNotNull><br />       </dynamic><br />  </select></font> </p> <p> <font size="2">  <select id="getAutoInfo" resultMap="get-autoInfo-result" parameterClass="int"><br />       <![CDATA[ <br />       select * from auto_info where owner_no=#id#<br />        ]]><br />  </select><br />  <br /></sqlMap></font> </p> </td> </tr> </tbody> </table> </span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">单地l合一下以前出现过的映文Ӟp满新需求。相应程序代码如下:(x)</span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-FAMILY: Arial"> <p> </p> <table style="WIDTH: 527px; HEIGHT: 100px" height="100" cellspacing="0" cellpadding="0" width="527" border="1"> <tbody> <tr> <td> <p> <font size="2">package test;</font> </p> <p> <font size="2">import java.io.Reader;</font> </p> <p> <font size="2">import com.ibatis.sqlmap.client.*;<br />import com.ibatis.common.resources.*;</font> </p> <p> <font size="2">import bo.*;</font> </p> <p> <font size="2">public class AutoMag {</font> </p> <p> <font size="2"> private Reader reader;<br /> private SqlMapClient sqlMap;<br /> private String resource = "SqlMapConfig.xml";<br /> <br /> public void insertPeople() throws Exception{<br />  try{<br />       reader = Resources.getResourceAsReader(resource);<br />       sqlMap=SqlMapClientBuilder.buildSqlMapClient(reader);<br />       sqlMap.startTransaction();<br />      <br />       People people=new People();<br />       people.setId(new Integer("1"));<br />       people=(People)sqlMap.queryForObject("getPeople",people);</font> </p> <p> <font size="2">       AutoInfo autoInfo=new AutoInfo();<br />       autoInfo.setLicensePlate("A00002");<br />       autoInfo.setOwnerNo(people);<br />       sqlMap.insert("insertAutoInfo",autoInfo);<br />      <br />       sqlMap.commitTransaction();<br />  }finally{<br />       sqlMap.endTransaction();<br />  }<br /> }<br />}</font> </p> </td> </tr> </tbody> </table> </span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">E序代码也是单组合一下而已Q想?/span> <span lang="EN-US" style="FONT-FAMILY: Arial"> Hibernate </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">又是怎么写的呢?怿?/span> <span lang="EN-US" style="FONT-FAMILY: Arial"> JDBC </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">l验的程序员应该更喜?/span> <span style="FONT-FAMILY: Arial"> </span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">iBATIS SQL Maps </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q?/span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> </span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">斗{星移、峰回\转,</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">张三在经历过生意U火之后Q接下来的一q内生意Zq连告负Q不得不把自q摊子收羃一下。这W一件事要把跑运输的车卖掉,是</span> <span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">那辆牌照?/span> <span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">?/span> <span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">A00002?/span> <span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">?/span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">?/span> <span lang="EN-US" style="FONT-FAMILY: Arial"> </span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">相应映射文g只需小修改Q?/span> <span lang="EN-US" style="FONT-FAMILY: Arial"> </span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-FAMILY: Arial"> <p> </p> <table style="WIDTH: 528px; HEIGHT: 100px" height="100" cellspacing="0" cellpadding="0" width="528" border="1"> <tbody> <tr> <td> <p> <font size="2"><?xml version="1.0" encoding="UTF-8"?></font> </p> <p> <font size="2"><!DOCTYPE sqlMap<br />    PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"<br />    "</font> <a > <font size="2">http://www.ibatis.com/dtd/sql-map-2.dtd</font> </a> <font size="2">"></font> </p> <p> <font size="2"><sqlMap><br />  <br />  <delete id="deleteAutoInfo" parameterClass="bo.AutoInfo"><br />    <![CDATA[ <br />    delete from auto_info where license_plate=#licensePlate# and owner_no=#ownerNo.id#<br />    ]]><br />  </delete></font> </p> <p> <font size="2">    <resultMap id="get-autoInfo-result" class="bo.AutoInfo"><br />        <result property="id" column="auto_id"/><br />        <result property="licensePlate" column="license_plate"/><br />    </resultMap></font> </p> <p> <font size="2">    <resultMap id="get-people-result" class="bo.People"><br />        <result property="id" column="owner_id"/><br />        <result property="name" column="name"/><br />        <result property="address" column="address"/><br />        <result property="autoInfoList" column="owner_id" select="getAutoInfo"/><br />    </resultMap></font> </p> <p> <font size="2">  <select id="getPeople" resultMap="get-people-result" parameterClass="bo.People"><br />       <![CDATA[ <br />       select * from people<br />       ]]><br />       <dynamic prepend="where"><br />         <isNotNull property="id"><br />           <![CDATA[ <br />           owner_id=#id#<br />           ]]><br />         </isNotNull><br />       </dynamic><br />  </select></font> </p> <p> <font size="2">  <select id="getAutoInfo" resultMap="get-autoInfo-result" parameterClass="int"><br />       <![CDATA[ <br />       select * from auto_info where owner_no=#id#<br />        ]]><br />  </select><br />  <br /></sqlMap></font> </p> </td> </tr> </tbody> </table> </span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">d了一?/span> <span style="FONT-FAMILY: Arial"> </span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">delete</span> <span lang="EN-US" style="COLOR: black; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">cd?/span> <span style="COLOR: black; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> </span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">Mapped Statement</span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">。同P也无需再解释了。相应程序代码:(x)</span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> </span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-FAMILY: Arial"> <p> </p> <table style="WIDTH: 525px; HEIGHT: 100px" height="100" cellspacing="0" cellpadding="0" width="525" border="1"> <tbody> <tr> <td> <p> <font size="2">package test;</font> </p> <p> <font size="2">import java.io.Reader;</font> </p> <p> <font size="2">import com.ibatis.sqlmap.client.*;<br />import com.ibatis.common.resources.*;</font> </p> <p> <font size="2">import bo.*;</font> </p> <p> <font size="2">public class AutoMag {</font> </p> <p> <font size="2"> private Reader reader;<br /> private SqlMapClient sqlMap;<br /> private String resource = "SqlMapConfig.xml";<br /> <br /> public void delPeople() throws Exception{<br />  try{<br />      reader = Resources.getResourceAsReader(resource);<br />      sqlMap=SqlMapClientBuilder.buildSqlMapClient(reader);<br />      sqlMap.startTransaction();<br />      <br />      People people=new People();<br />      people.setId(new Integer("1"));<br />      people=(People)sqlMap.queryForObject("getPeople",people);</font> </p> <p> <font size="2">        AutoInfo autoInfo=new AutoInfo();<br />        autoInfo.setLicensePlate("A00002");<br />        autoInfo.setOwnerNo(people);            <br />      sqlMap.delete("deleteAutoInfo",autoInfo);<br />      <br />      sqlMap.commitTransaction();<br />  }finally{<br />      sqlMap.endTransaction();<br />  }<br /> }<br />}</font> </p> </td> </tr> </tbody> </table> </span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">到这里,</span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">iBATIS SQL Maps </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">之旅也就l束了。是的,很有意犹未尽的感觉,q没按照</span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> one-to-many </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">方式删除张三和他所有的车辆呢?/span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> <p> </p> </span> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">q个工作ql你来完成吧Q?/span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> </span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-FAMILY: Arial"> <span style="mso-spacerun: yes">    </span> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">我不x?/span> <span lang="EN-US" style="FONT-FAMILY: Arial"> Hibernate </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">?/span> <span style="FONT-FAMILY: Arial"> </span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">iBATIS SQL Maps </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">C孰劣Q因U比较实在无聊!从我开始写W一?/span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> Delphi </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">代码开始,充斥着?/span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">VC </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">好?q是</span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> Delphi </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">好?”这L(fng)比较Q如果你未涉q?/span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> JDBC</span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q我?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">Hibernate </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">?x)更适合?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">??br /><br /><br /><strong><font face="宋体" color="#ff0000" size="2">h意!引用、{贴本文应注明原作者:(x)Rosen Jiang 以及(qing)出处Q?/font></strong><a href="/rosen"><font face="宋体" color="#ff0000" size="2"><strong>http://m.tkk7.com/rosen</strong></font></a></span> </p> <img src ="http://m.tkk7.com/rosen/aggbug/9936.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/rosen/" target="_blank">Rosen</a> 2005-08-12 14:55 <a href="http://m.tkk7.com/rosen/archive/2005/08/12/9936.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>iBATIS SQL MapsQ三Q?/title><link>http://m.tkk7.com/rosen/archive/2005/08/12/9935.html</link><dc:creator>Rosen</dc:creator><author>Rosen</author><pubDate>Fri, 12 Aug 2005 06:35:00 GMT</pubDate><guid>http://m.tkk7.com/rosen/archive/2005/08/12/9935.html</guid><wfw:comment>http://m.tkk7.com/rosen/comments/9935.html</wfw:comment><comments>http://m.tkk7.com/rosen/archive/2005/08/12/9935.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/rosen/comments/commentRss/9935.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/rosen/services/trackbacks/9935.html</trackback:ping><description><![CDATA[ <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">看看</span> <span lang="EN-US" style="FONT-FAMILY: Arial">iBATIS SQL Maps</span> <span lang="EN-US"> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是怎样从数据库按照</span> <span lang="EN-US" style="FONT-FAMILY: Arial">one-to-many </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">关系查询数据的:(x)</span> <span lang="EN-US" style="FONT-FAMILY: Arial"> </span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US"> <p> </p> <table style="WIDTH: 527px; HEIGHT: 456px" height="456" cellspacing="0" cellpadding="0" width="527" border="1"> <tbody> <tr> <td> <p> <font size="2"><?xml version="1.0" encoding="UTF-8"?></font> </p> <p> <font size="2"><!DOCTYPE sqlMap<br />    PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"<br />    "</font> <a > <font color="#000080" size="2">http://www.ibatis.com/dtd/sql-map-2.dtd</font> </a> <font size="2">"></font> </p> <p> <font size="2"><sqlMap><br />    <resultMap id="get-autoInfo-result" class="bo.AutoInfo"><br />        <result property="id" column="auto_id"/><br />        <result property="licensePlate" column="license_plate"/><br />    </resultMap></font> </p> <p> <font size="2">    <resultMap id="get-people-result" class="bo.People"><br />        <result property="id" column="owner_id"/><br />        <result property="name" column="name"/><br />        <result property="address" column="address"/><br />        <result property="autoInfoList" column="owner_id" select="getAutoInfo"/><br />    </resultMap></font> </p> <p> <font size="2">  <select id="getPeople" resultMap="get-people-result" parameterClass="bo.People"><br />       <![CDATA[ <br />       select * from people where owner_id=#id#<br />        ]]><br />  </select></font> </p> <p> <font size="2">  <select id="getAutoInfo" resultMap="get-autoInfo-result" parameterClass="int"><br />       <![CDATA[ <br />       select * from auto_info where owner_no=#id#<br />        ]]><br />  </select><br /></sqlMap></font> </p> </td> </tr> </tbody> </table> <br /></span> <b style="mso-bidi-font-weight: normal"> <span lang="EN-US" style="FONT-FAMILY: Arial">resultMap id="get-autoInfo-result" class="bo.AutoInfo"</span> </b> <span lang="EN-US" style="FONT-FAMILY: Arial"> </span> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-FAMILY: Arial"> <span style="mso-spacerun: yes">    </span>resultMap </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">?/span> <span style="FONT-FAMILY: Arial"> <span lang="EN-US">iBATIS SQL Maps </span> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">框架中重要组件之一Q?/span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">你也许还记得</span> <span style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> </span> <span lang="EN-US" style="FONT-FAMILY: Arial">resultClass </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">吧?两者概念基本一致?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">resultMap </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">则是可定?/span> <span style="FONT-FAMILY: Arial"> </span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">Mapped Statement </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">q回对象的。可定制表现在:(x)比如我有一张数据表包含</span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">10</span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">个字D,但我?/span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> POJO </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">只定义了</span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">5</span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">个属性,q时Q只要取出我兛_的字D就行。和</span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> Hibernate </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">cMQ?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">resultMap </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">?/span> <span style="FONT-FAMILY: Arial"> <b style="mso-bidi-font-weight: normal"> <span lang="EN-US">result</span> </b> <span lang="EN-US"> </span> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">元素定义?/span> <span lang="EN-US" style="FONT-FAMILY: Arial"> POJO </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">属性到数据表字D늚映射?/span> <span lang="EN-US" style="FONT-FAMILY: Arial"> <p> </p> </span> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">需要说明的?/span> <span style="FONT-FAMILY: Arial"> <b style="mso-bidi-font-weight: normal"> <span lang="EN-US">result</span> </b> <span lang="EN-US"> </span> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">元素</span> <span style="FONT-FAMILY: Arial"> <b style="mso-bidi-font-weight: normal"> <span lang="EN-US">select</span> </b> </span> <span lang="EN-US"> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">属性,该属性类g加蝲了一个子查询Qƈ自动载入Q如果这个子查询包含多条l果Q就自动把结果装载进</span> <span lang="EN-US" style="FONT-FAMILY: Arial">List</span> <span lang="EN-US"> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">cd。该</span> <b style="mso-bidi-font-weight: normal"> <span lang="EN-US" style="FONT-FAMILY: Arial">result</span> </b> <span lang="EN-US" style="FONT-FAMILY: Arial"> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">元素</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对应</span> <span lang="EN-US" style="FONT-FAMILY: Arial">People</span> <span lang="EN-US"> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的属性ؓ(f)</span> <span lang="EN-US">?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">autoInfoList?/span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q而由</span> <span lang="EN-US" style="FONT-FAMILY: Arial">Hibernate</span> <span lang="EN-US"> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">生成?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">People</span> <span lang="EN-US"> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">却是</span> <span lang="EN-US" style="FONT-FAMILY: Arial">Set</span> <span lang="EN-US"> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">cd</span> <span lang="EN-US">?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">autoInfoSet?/span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q这两种cd无法直接互{Q所以我修改?/span> <span lang="EN-US"> POJO </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">属性?/span> <span lang="EN-US"> </span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <b style="mso-bidi-font-weight: normal"> <span lang="EN-US" style="FONT-FAMILY: Arial">select id="getPeople" resultMap="get-people-result" parameterClass="bo.People" <p></p></span> </b> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">此ؓ(f)</span> <span style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> <span lang="EN-US">select </span> </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">cd</span> <span style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> </span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">Mapped Statement</span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">。传?/span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> People </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">实例Q返回ؓ(f)自己定制、包?/span> <span lang="EN-US">?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">autoInfoList?/span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">?/span> <span style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> <span lang="EN-US">People </span> </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">实例。传?/span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">People </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">cd参数是ؓ(f)了便于多字段匚w查询Q今天也许我只需利用</span> <span style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> <span lang="EN-US">People.id </span> </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">单字D匹配就能得到结果,但下ơ的新需求也许是</span> <span style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> <span lang="EN-US">People.address </span> </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">?/span> <span style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> <span lang="EN-US">People.name </span> </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">联合匚wQ?/span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">相应E序代码Q?/span> <span lang="EN-US"> <p> </p> </span> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span lang="EN-US" style="FONT-FAMILY: Arial"> <p> </p> <table style="WIDTH: 525px; HEIGHT: 386px" height="386" cellspacing="0" cellpadding="0" width="525" border="1"> <tbody> <tr> <td> <p> <font size="2">package test;</font> </p> <p> <font size="2">import java.io.Reader;<br />import java.util.List;</font> </p> <p> <font size="2">import com.ibatis.sqlmap.client.*;<br />import com.ibatis.common.resources.*;</font> </p> <p> <font size="2">import bo.*;</font> </p> <p> <font size="2">public class AutoMag {</font> </p> <p> <font size="2"> private Reader reader;<br /> private People people=new People();<br /> private SqlMapClient sqlMap;<br /> private String resource = "SqlMapConfig.xml";<br /> <br /> public People findPeople() throws Exception{<br />  reader = Resources.getResourceAsReader(resource);<br />   sqlMap=SqlMapClientBuilder.buildSqlMapClient(reader);<br />  <br />   people.setId(new Integer("1"));<br />   <font color="#ff0000">people=(People)sqlMap.queryForObject("getPeople",people);</font><br />   return people;<br /> }<br />}</font> </p> </td> </tr> </tbody> </table> </span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <b style="mso-bidi-font-weight: normal"> <span lang="EN-US" style="FONT-FAMILY: Arial">sqlMap.queryForObject(String arg0, Object arg1) <p></p></span> </b> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">此方法类?/span> <span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> Hibernate </span> <span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">?/span> <span style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> <span lang="EN-US">session.load(?</span> </span> <span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q传?/span> <span style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> </span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">Mapped Statement id</span> <span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q再传入包含主键的对象实例。除我上面列丄</span> <span style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> <span lang="EN-US">sqlMap.</span> </span> <span lang="EN-US" style="FONT-FAMILY: Arial">queryForObject(String arg0, Object arg1) </span> <span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">外,q有重蝲Ҏ(gu)</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q?/span> <b style="mso-bidi-font-weight: normal"> <span lang="EN-US" style="FONT-FAMILY: Arial"> </span> </b> </p> <span lang="EN-US" style="FONT-FAMILY: Arial"> <p> </p> <table style="WIDTH: 521px; HEIGHT: 69px" height="69" cellspacing="0" cellpadding="0" width="521" border="1"> <tbody> <tr> <td> <p> <font color="#ff0000" size="2">people=(People)sqlMap.queryForObject("getPeople",people);</font> </p> <p> <font size="2">替换?/font> </p> <p> <font color="#ff0000" size="2">sqlMap.queryForObject("getPeople", people, people);</font> </p> </td> </tr> </tbody> </table> <br /></span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">W一?/span> <span lang="EN-US">?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">people</span> <span lang="EN-US">?/span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是传入参敎ͼW二?/span> <span lang="EN-US">?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">people</span> <span lang="EN-US">?/span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是返回的l果?/span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">要表辄意思一P只不q换了种表现形式</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/span> <span lang="EN-US"> </span> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <b style="mso-bidi-font-weight: normal"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">下面我会(x)讲到如何以集合类持有多个</span> </b> <b style="mso-bidi-font-weight: normal"> <span lang="EN-US" style="FONT-FAMILY: Arial"> People </span> </b> <b style="mso-bidi-font-weight: normal"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">对象实例?/span> </b> <b style="mso-bidi-font-weight: normal"> <span lang="EN-US" style="FONT-FAMILY: Arial"> </span> </b> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">在R辆管理应用中Q需要把人员一一列出Q选中某个再显Cl内宏V类gq样的需求,</span> <span lang="EN-US" style="FONT-FAMILY: Arial">iBATIS SQL Maps </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">引入</span> <span style="FONT-FAMILY: Arial"> <span lang="EN-US">sqlMap.queryForList(String arg0, Object arg1) </span> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">来满?/span> <span lang="EN-US" style="FONT-FAMILY: Arial"> <p> </p> </span> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-FAMILY: Arial"> <span style="mso-spacerun: yes">      </span> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">q记得我们的映射文g怎么写的Q对了,传入主键值再查询Q?/span> <span lang="EN-US" style="FONT-FAMILY: Arial"> <p> </p> </span> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">但是Q新需求不要Q何条Ӟ直接列出人员啊!Nq要再添加新?/span> <span style="FONT-FAMILY: Arial"> </span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">Mapped Statement </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">来满I动?/span> <span style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> <span lang="EN-US">Mapped Statement </span> </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">能满_不改变映文件的前提下提供有参数和无差数查询Q?/span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> </span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-FAMILY: Arial"> <p> </p> <table style="WIDTH: 528px; HEIGHT: 597px" height="597" cellspacing="0" cellpadding="0" width="528" border="1"> <tbody> <tr> <td> <p> <font size="2"><?xml version="1.0" encoding="UTF-8"?></font> </p> <p> <font size="2"><!DOCTYPE sqlMap<br />    PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"<br />    "</font> <a > <font color="#000080" size="2">http://www.ibatis.com/dtd/sql-map-2.dtd</font> </a> <font size="2">"></font> </p> <p> <font size="2"><sqlMap><br />    <resultMap id="get-autoInfo-result" class="bo.AutoInfo"><br />        <result property="id" column="auto_id"/><br />        <result property="licensePlate" column="license_plate"/><br />    </resultMap></font> </p> <p> <font size="2">    <resultMap id="get-people-result" class="bo.People"><br />        <result property="id" column="owner_id"/><br />        <result property="name" column="name"/><br />        <result property="address" column="address"/><br />        <result property="autoInfoList" column="owner_id" select="getAutoInfo"/><br />    </resultMap></font> </p> <p> <font size="2">  <select id="getPeople" resultMap="get-people-result" parameterClass="bo.People"><br />       <![CDATA[ <br />       select * from people<br />       ]]><br />       <dynamic prepend="where"><br />         <isNotNull property="id"><br />           <![CDATA[ <br />           owner_id=#id#<br />           ]]><br />         </isNotNull><br />       </dynamic><br />  </select></font> </p> <p> <font size="2">  <select id="getAutoInfo" resultMap="get-autoInfo-result" parameterClass="int"<br />                    resultClass="bo.AutoInfo"><br />       <![CDATA[ <br />       select * from auto_info where owner_no=#id#<br />        ]]><br />  </select><br /></sqlMap></font> </p> </td> </tr> </tbody> </table> </span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <b style="mso-bidi-font-weight: normal"> <span lang="EN-US" style="FONT-FAMILY: Arial">dynamic prepend="where" <p></p></span> </b> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span lang="EN-US" style="FONT-FAMILY: Arial">select</span> <span lang="EN-US"> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">cd</span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">Mapped Statement </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">的本质ƈ无改变,只是通过</span> <span style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> </span> <span lang="EN-US" style="FONT-FAMILY: Arial">dynamic </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">元素定义了动?/span> <span lang="EN-US" style="FONT-FAMILY: Arial"> where </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">子句?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">dynamic </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">元素属?/span> <span style="FONT-FAMILY: Arial"> <span lang="EN-US">prepend=”where?/span> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">在一元判定元?/span> <span style="FONT-FAMILY: Arial"> <span lang="EN-US">isNotNull </span> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">q回</span> <span lang="EN-US" style="FONT-FAMILY: Arial">”true?/span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">时有效?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">isNotNull </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">元素属?/span> <span style="FONT-FAMILY: Arial"> <span lang="EN-US">property="id" </span> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">用于判定</span> <span lang="EN-US" style="FONT-FAMILY: Arial"> People.id </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">是否?/span> <span style="FONT-FAMILY: Arial"> <span lang="EN-US">null</span> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q假如未传入包含主键值的</span> <span lang="EN-US" style="FONT-FAMILY: Arial"> People </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">实例Q?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">dynamic </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">元素会(x)无效Q反之则亦然Q这样就辑ֈ了在不改变映文件的前提下实现动?/span> <span lang="EN-US" style="FONT-FAMILY: Arial"> SQL </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">的目的。关于一元判定元素和二元判定元素的详l资料请查阅官方文档Q如能恰当利用这些判定元素,动?/span> <span lang="EN-US" style="FONT-FAMILY: Arial"> SQL </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">会(x)更灵zR?/span> <span lang="EN-US" style="FONT-FAMILY: Arial"> </span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">相应E序代码Q?/span> <span lang="EN-US"> <p> </p> </span> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-FAMILY: Arial"> <p> </p> <table style="WIDTH: 528px; HEIGHT: 374px" height="374" cellspacing="0" cellpadding="0" width="528" border="1"> <tbody> <tr> <td> <p> <font size="2">package test;</font> </p> <p> <font size="2">import java.io.Reader;<br />import java.util.List;</font> </p> <p> <font size="2">import com.ibatis.sqlmap.client.*;<br />import com.ibatis.common.resources.*;</font> </p> <p> <font size="2">import bo.*;</font> </p> <p> <font size="2">public class AutoMag {</font> </p> <p> <font size="2"> private Reader reader;<br /> private People people=new People();<br /> private SqlMapClient sqlMap;<br /> private String resource = "SqlMapConfig.xml";<br /> <br /> public List findPeople() throws Exception{<br />  reader = Resources.getResourceAsReader(resource);<br />  sqlMap=SqlMapClientBuilder.buildSqlMapClient(reader);<br />      <br />  <font color="#ff0000">List list=sqlMap.queryForList("getPeople",null);</font><br />  return list;<br /> }<br />}</font> </p> </td> </tr> </tbody> </table> </span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">传入</span> <span style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> </span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">Mapped Statement id</span> <span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q再传入未包含主键的对象实例Q也可以q脆?/span> <span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> null </span> <span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">q去。重载方?/span> <span style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> </span> <span lang="EN-US" style="FONT-FAMILY: Arial">sqlMap</span> <span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">.queryForList(String arg0, Object arg1,<code><span style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-ansi-font-size: 10.5pt"> int arg2, int arg3</span></code>) </span> <span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">用于分页</span> <span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q?/span> <span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">arg2</span> <span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">?/span> <span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">arg3</span> <span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">分别代表늠和每个数?/span> <span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> </span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">好了Q用动?/span> <span style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> <span lang="EN-US" style="COLOR: black">Mapped Statement</span> </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q再试试</span> <span style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> </span> <span lang="EN-US" style="FONT-FAMILY: Arial">queryForObject(String arg0, Object arg1) </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">吧!<br /><br /><br /><br /><strong><font color="#ff0000" size="2">h意!引用、{贴本文应注明原作者:(x)Rosen Jiang 以及(qing)出处Q?/font></strong><a href="/rosen"><font color="#ff0000" size="2"><strong>http://m.tkk7.com/rosen</strong></font></a></span> </p> <img src ="http://m.tkk7.com/rosen/aggbug/9935.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/rosen/" target="_blank">Rosen</a> 2005-08-12 14:35 <a href="http://m.tkk7.com/rosen/archive/2005/08/12/9935.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>iBATIS SQL MapsQ二Q?/title><link>http://m.tkk7.com/rosen/archive/2005/08/12/9932.html</link><dc:creator>Rosen</dc:creator><author>Rosen</author><pubDate>Fri, 12 Aug 2005 06:10:00 GMT</pubDate><guid>http://m.tkk7.com/rosen/archive/2005/08/12/9932.html</guid><wfw:comment>http://m.tkk7.com/rosen/comments/9932.html</wfw:comment><comments>http://m.tkk7.com/rosen/archive/2005/08/12/9932.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/rosen/comments/commentRss/9932.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/rosen/services/trackbacks/9932.html</trackback:ping><description><![CDATA[     摘要: 让我们重回到车辆理pȝ和张三的故事中?           ? iBATIS SQL Maps 的世界里也存? one-to-many ? many-to-...  <a href='http://m.tkk7.com/rosen/archive/2005/08/12/9932.html'>阅读全文</a><img src ="http://m.tkk7.com/rosen/aggbug/9932.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/rosen/" target="_blank">Rosen</a> 2005-08-12 14:10 <a href="http://m.tkk7.com/rosen/archive/2005/08/12/9932.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>iBATIS SQL MapsQ一Q?/title><link>http://m.tkk7.com/rosen/archive/2005/08/12/9931.html</link><dc:creator>Rosen</dc:creator><author>Rosen</author><pubDate>Fri, 12 Aug 2005 06:03:00 GMT</pubDate><guid>http://m.tkk7.com/rosen/archive/2005/08/12/9931.html</guid><wfw:comment>http://m.tkk7.com/rosen/comments/9931.html</wfw:comment><comments>http://m.tkk7.com/rosen/archive/2005/08/12/9931.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/rosen/comments/commentRss/9931.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/rosen/services/trackbacks/9931.html</trackback:ping><description><![CDATA[ <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">前段旉写了?/span> <span style="FONT-FAMILY: Arial"> <span lang="EN-US">Hibernate </span> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">斚w?/span> <span lang="EN-US" style="FONT-FAMILY: Arial"> <a href="/rosen/archive/2005/08/12/9910.html"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial"> <font color="#000080">pd文章</font> </span> </a> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q网友们反映q不错。在接下来的旉里,我将?x)引入另外一U?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">O/R Mapping </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">解决Ҏ(gu)</span> <span lang="EN-US" style="FONT-FAMILY: Arial">—?b style="mso-bidi-font-weight: normal">iBATIS</b></span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q本pd沿?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">Hibernate </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">pd文章的风根{?/span> <br /> <b style="mso-bidi-font-weight: normal"> <span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"> <br />什么是</span> </b> <b style="mso-bidi-font-weight: normal"> <span style="FONT-SIZE: 14pt; FONT-FAMILY: Arial"> <span lang="EN-US"> <a > <font color="#000080">iBATIS</font> </a> </span> </span> </b> <b style="mso-bidi-font-weight: normal"> <span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q?/span> <br /></b> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt"> <br />    和众多的</span> <span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">SourceForge </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt">开源项目一P</span> <span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">iBATIS </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt">曄也是其中的一员。在</span> <span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">2004</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt">q?/span> <span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">11</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt">?/span> <span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">3</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt">日成功地成ؓ(f)?/span> <span style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> <span lang="EN-US"> <a > <font color="#000080">Apache Incubator</font> </a> <span style="COLOR: black"> </span> </span> </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt">下的子项目?/span> <span style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> </span> <span lang="EN-US" style="FONT-FAMILY: Arial">iBATIS </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">包括</span> <span lang="EN-US" style="FONT-FAMILY: Arial">for Java </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">for .NET </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">两个版本Q?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">for Java </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">版提供了</span> <span lang="EN-US" style="FONT-FAMILY: Arial">SQL Maps </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">DAO </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">框架Q?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">for .NET </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">只提供了</span> <span style="FONT-FAMILY: Arial"> <span lang="EN-US">SQL Maps </span> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">框架。从现在开始我们只?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">for Java </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">版的</span> <span lang="EN-US" style="FONT-FAMILY: Arial">SQL Maps </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">展开讨论?/span> <span lang="EN-US" style="FONT-FAMILY: Arial"> </span> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span lang="EN-US" style="FONT-FAMILY: Arial"> <p> </p> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">    你可以在</span> <span style="FONT-FAMILY: Arial"> <span lang="EN-US"> <a > <font color="#000080">http://www.ibatis.com</font> </a> </span> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">下蝲</span> <span lang="EN-US" style="FONT-FAMILY: Arial">iBATIS for Java</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q目前最新版本是</span> <span lang="EN-US" style="FONT-FAMILY: Arial">2.0.9</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q压~包里已l包含了</span> <span lang="EN-US" style="FONT-FAMILY: Arial">SQL Maps(ibatis-sqlmap-2.jar) </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">DAO </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">框架</span> <span lang="EN-US" style="FONT-FAMILY: Arial">(ibatis-dao-2.jar)</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">?/span> <span lang="EN-US" style="FONT-FAMILY: Arial"> <br /> </span> <br /> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <b style="mso-bidi-font-weight: normal"> <span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Z么选择</span> </b> <b style="mso-bidi-font-weight: normal"> <span style="FONT-SIZE: 14pt; FONT-FAMILY: Arial"> <span lang="EN-US"> <a > <font color="#000080">iBATIS</font> </a> </span> </span> </b> <b style="mso-bidi-font-weight: normal"> <span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q?/span> </b> <b style="mso-bidi-font-weight: normal"> <span lang="EN-US" style="FONT-SIZE: 14pt; FONT-FAMILY: Arial"> <br /></span> </b> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"> <br />    也许各位看官已在各种不同的技术资料上了解到它的优ѝ但是对于我来说Q选择它的理由只有一?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">——?/span> <b style="mso-bidi-font-weight: normal"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">利用原有资源</span> </b> <span lang="EN-US" style="FONT-FAMILY: Arial">?/span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">Hibernate </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">的却优秀Q但是用来整合原有系l,它却很难胜Q。例如,以前在进行数据徏模时使用了复合主键、跨多表生的几十甚至上百行的查询语句、利用原有存储过E?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">??</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">当面临这一pd问题?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">Hibernate </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">显得力不从心了Q要想?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">Hibernate</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">只能改造原有系l!</span> <span lang="EN-US" style="FONT-FAMILY: Arial"> </span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">当我面(f)pȝ整合问题Ӟ整合的要求很单:(x)只需要保留原有系l查询部分)Q?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">iBATIS </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">q入了我的视Uѝ原有系l中?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">SQL</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">语句需要小的修改外,数据表、查询结果都不需要改变!也不用像</span> <span lang="EN-US" style="FONT-FAMILY: Arial">Hibernate </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">那样映射Z多的配置文g?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">POJO</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q一下子清爽了很多?/span> <b style="mso-bidi-font-weight: normal"> <span lang="EN-US" style="COLOR: red; FONT-FAMILY: Arial">BTW</span> </b> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">Hibernate </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">q种做法没有错!只是我只需要查询功能,仅仅是取我所好而已Q避免了杀鸡用牛刀?/span> <span lang="EN-US" style="FONT-FAMILY: Arial"> </span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">目前Q系l整合已l结束,׃一个月旉。如果?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">Hibernate</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q恐怕我现在q在为怎么设计数据表、怎样?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">HQL</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">而和同事争论?/span> <span lang="EN-US" style="FONT-FAMILY: Arial"> <p> </p> </span> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <b style="mso-bidi-font-weight: normal"> <span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">开始另一?/span> </b> <b style="mso-bidi-font-weight: normal"> <span style="FONT-SIZE: 14pt; FONT-FAMILY: Arial"> <span lang="EN-US">O/R Mapping </span> </span> </b> <b style="mso-bidi-font-weight: normal"> <span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">之旅</span> </b> <span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> <p> </p> </span> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt"> <br />    上次</span> <span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">O/R Mapping </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt">之旅?/span> <span style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> <span lang="EN-US">BO</span> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt">、数据表q可以重用,只是把数据库q移C</span> <span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">MySQL</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt">?span style="COLOR: black">打开</span></span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">Eclipse</span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt">Q新Z?/span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">Resin </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt">目。把</span> <span style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> </span> <span lang="EN-US" style="FONT-FAMILY: Arial">ibatis-sqlmap-2.jar </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">ibatis-common-2.jar </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">拯?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">lib </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">目录下,再导入项目。和</span> <span lang="EN-US" style="FONT-FAMILY: Arial">Hibernate </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">自动配置、自动映相比,</span> <span lang="EN-US" style="FONT-FAMILY: Arial">iBATIS </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">的一切都是手工完成的?/span> <span lang="EN-US" style="FONT-FAMILY: Arial"> <span style="mso-spacerun: yes">    </span> <p> </p> </span> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-FAMILY: Arial"> <span style="mso-spacerun: yes">    </span> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">src </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">下徏立配|文?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">SqlMapConfig.xml</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Q数据库链接、连接池?/span> <span lang="EN-US" style="FONT-FAMILY: Arial">SqlMap </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">映射文g</span> <span lang="EN-US" style="FONT-FAMILY: Arial">??</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">q些都要靠它了。官方参考手册对怎样q行讄有很详细的描qͼ我只对要用到的地方进行粗略说明?br /></span> <span lang="EN-US" style="FONT-FAMILY: Arial"> <p> </p> </span> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <table style="WIDTH: 509px; HEIGHT: 100px" height="100" cellspacing="0" cellpadding="0" width="509" border="1"> <tbody> <tr> <td> <p> <font size="2"><?xml version="1.0" encoding="UTF-8" ?><br /><!DOCTYPE sqlMapConfig<br />    PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"<br />    "</font> <a > <font color="#000080" size="2">http://www.ibatis.com/dtd/sql-map-config-2.dtd</font> </a> <font size="2">"></font> </p> <p> <font size="2"><sqlMapConfig></font> </p> <p> <font size="2">  <settings<br />    cacheModelsEnabled="true"<br />    enhancementEnabled="true"<br />    lazyLoadingEnabled="true"<br />    errorTracingEnabled="false"<br />    maxRequests="32"<br />    maxSessions="10"<br />    maxTransactions="5"<br />    useStatementNamespaces="false"<br />    /></font> </p> <p> <font size="2">  <transactionManager type="JDBC"><br />    <dataSource type="SIMPLE"><br />      <property name="JDBC.Driver" value="org.gjt.mm.mysql.Driver"/><br />      <property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost/new_db?useUnicode=true"/><br />      <property name="JDBC.Username" value="root"/><br />      <property name="JDBC.Password" value=""/><br />      <property name="JDBC.DefaultAutoCommit" value="true"/><br />      <property name="Pool.MaximumActiveConnections" value="10"/><br />      <property name="Pool.MaximumIdleConnections" value="5"/><br />      <property name="Pool.MaximumCheckoutTime" value="120000"/><br />      <property name="Pool.TimeToWait" value="500"/><br />      <property name="Pool.PingQuery" value="select 1 from ACCOUNT"/><br />      <property name="Pool.PingEnabled" value="false"/><br />      <property name="Pool.PingConnectionsOlderThan" value="1"/><br />      <property name="Pool.PingConnectionsNotUsedFor" value="1"/><br />      <property name="Pool.QuietMode" value="true"/><br />    </dataSource><br />  </transactionManager></font> </p> <p> <font size="2">  <sqlMap resource="bo/mapping/AutoMag.xml"/><br /></sqlMapConfig></font> </p> </td> </tr> </tbody> </table> <b style="mso-bidi-font-weight: normal"> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: Arial"> <br />transactionManager </span> </b> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt">元素定义?/span> <span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">iBATIS </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt">事务理器?/span> <span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">type </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt">可选项包括Q?/span> <span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> </span> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.1pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-layout-grid-align: none" align="left"> <b style="mso-bidi-font-weight: normal"> <span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">JDBC</span> </b> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">Q通过传统</span> <span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">JDBC </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">来管理事务?/span> <span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> <p> </p> </span> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.1pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-layout-grid-align: none" align="left"> <b style="mso-bidi-font-weight: normal"> <span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">JTA</span> </b> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">Q用一?/span> <span style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> <span lang="EN-US">JTA </span> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">全局事务Q</span> <span style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> </span> <span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">iBATIS</span> <span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">的事务包括在更大的事务范围内Q跨数据?/span> <span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">Session</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">的)Q这个更大的事务范围可能包括了其他的数据库和事务资源。这个配|需要一?/span> <span style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> <span lang="EN-US">UserTransaction </span> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">属性,以便?/span> <span style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> <span lang="EN-US">JNDI </span> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">获得一?/span> <span style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> <span lang="EN-US">UserTransaction</span> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">?/span> <span style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> <span lang="EN-US"> <span style="mso-spacerun: yes"> </span> </span> </span> </p> <p class="a" style="TEXT-JUSTIFY: inter-ideograph; MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 20.65pt; TEXT-ALIGN: justify; mso-char-indent-count: 1.96"> <b style="mso-bidi-font-weight: normal"> <span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial">EXTERNAL</span> </b> <span style="FONT-SIZE: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"> <font face="宋体">Q调?/font> </span> <span style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial"> <span lang="EN-US">iBATIS </span> </span> <font face="宋体"> <span style="FONT-SIZE: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">以外的其他事务管理器来管理事务?/span> <span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial"> <p> </p> </span> </font> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p class="Default" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial"> <p> </p> </span> <b style="mso-bidi-font-weight: normal"> <span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Arial">dataSource </span> </b> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt">元素?/span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">transactionManager </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt">的一部分?/span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">type </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt">可选项包括Q?br /></span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt"> <span style="mso-spacerun: yes"> <br />    </span> </span> <b> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">SIMPLE</span> </b> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">Q?/span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">SIMPLE </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">?/span> <span style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> <span lang="EN-US">iBATIS </span> </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">内置?/span> <span style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> <span lang="EN-US">dataSource </span> </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">实现Q其中实C一个简单的数据库连接池Q当无容器提?/span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">DataSource </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">服务时可以用该选项Q对?/span> <span style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> <span lang="EN-US">iBATIS </span> </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">实现cMؓ(f)</span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">com.ibatis.sqlmap.engine.datasource.SimpleDataSourceFactory</span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">?/span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> </span> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 5.25pt; TEXT-INDENT: -5.25pt; TEXT-ALIGN: left; mso-char-indent-count: -.5; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">?span style="mso-spacerun: yes">    </span><b>DBCP:</b></span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">Z</span> <span style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> <span lang="EN-US">Apache DBCP </span> </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">q接?/span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">API </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">实现?/span> <span style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> <span lang="EN-US">DataSource</span> </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">Q当无容器提?/span> <span style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> <span lang="EN-US">DataSource </span> </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">服务Ӟ可以使用该选项Q对?/span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">iBATIS </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">实现cMؓ(f)</span> <span style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> <span lang="EN-US">com.ibatis.sqlmap.engine.datasource.DbcpDataSourceFactory</span> </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">?/span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> <p> </p> </span> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">?b style="mso-bidi-font-weight: normal">JNDI</b></span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">Q?/span> <span style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> <span lang="EN-US">J2EE </span> </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">容器提供?/span> <span style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> <span lang="EN-US">DataSource </span> </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">实现Q?/span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">DataSource </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">通过指定?/span> <span style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> <span lang="EN-US">JNDI Name </span> </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">从容器中获取。对?/span> <span style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> <span lang="EN-US">iBATIS </span> </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">实现cMؓ(f)</span> <span style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> <span lang="EN-US">com.ibatis.sqlmap.engine.datasource.JndiDataSourceFactory</span> </span> <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">?/span> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt"> <p> </p> </span> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p class="Default" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial"> <span style="mso-spacerun: yes">   </span> <b style="mso-bidi-font-weight: normal"> <span style="mso-spacerun: yes"> </span> </b> </span> <font face="宋体"> <b style="mso-bidi-font-weight: normal"> <span style="FONT-SIZE: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">注意Q?/span> </b> <span style="FONT-SIZE: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">每种</span> </font> <b style="mso-bidi-font-weight: normal"> <span style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial"> </span> </b> <span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial">dataSource </span> <span style="FONT-SIZE: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"> <font face="宋体">元素?/font> </span> <span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial">property </span> <span style="FONT-SIZE: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"> <font face="宋体">都有不同的地方,不能光把</font> </span> <span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial">type </span> <font face="宋体"> <span style="FONT-SIZE: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">名字改了了事?/span> <span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial"> <p> </p> </span> </font> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p class="Default" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial"> <p> </p> </span> <b style="mso-bidi-font-weight: normal"> <span lang="EN-US" style="FONT-FAMILY: Arial">sqlMap </span> </b> <span style="FONT-SIZE: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"> <font face="宋体">元素定义了映文件的存放位置Q配|文件中可包含多?/font> </span> <span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial">sqlMap </span> <span style="FONT-SIZE: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"> <font face="宋体">元素Q比如:(x)</font> </span> <span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial"> </span> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <table style="WIDTH: 514px; HEIGHT: 84px" height="84" cellspacing="0" cellpadding="0" width="514" border="1"> <tbody> <tr> <td> <p> <font size="2"><sqlMap resource="mapping/AutoMag1.xml"/><br /><sqlMap resource="bo/mapping/AutoMag2.xml"/></font> </p> <p> <font size="2"><sqlMap url="</font> <a href="file:///c:/eclipse/workspace/iBATISTest/src/bo/"> <font color="#000080" size="2">file:///c:/eclipse/workspace/iBATISTest/src/bo/</font> </a> <font size="2">AutoMag2.xml "/><br />??/font> </p> </td> </tr> </tbody> </table> <p class="Default" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="FONT-SIZE: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"> <font face="宋体">你也许已发现Q我只定义了单个映射文g。不错,?/font> </span> <span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial">Hibernate </span> <span style="FONT-SIZE: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"> <font face="宋体">的一个表一个映文件不同,</font> </span> <span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial">iBATIS </span> <font face="宋体"> <span style="FONT-SIZE: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">的映文件个数可以h为控Ӟ颗粒度自己掌握?/span> <span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial"> <p> </p> </span> </font> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p class="Default" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial"> <p> </p> </span> <span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial"> <span style="mso-spacerun: yes">    </span> </span> <span style="FONT-SIZE: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"> <font face="宋体">光有</font> </span> <span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial">BO </span> <span style="FONT-SIZE: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"> <font face="宋体">和配|文件还不行Q还要ؓ(f)本次试创徏试c?/font> </span> <span style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial"> <span lang="EN-US">AutoMag.java</span> </span> <span style="FONT-SIZE: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"> <font face="宋体">。完整的布局如下所C:(x)<br /></font> </span> <span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial"> <br />                                        <img alt="" hspace="0" src="http://blog.csdn.net/images/blog_csdn_net/rosen/68948/r_structure.jpg" align="baseline" border="0" /><br /></span> </p> <p> </p> <p class="Default" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="FONT-SIZE: 10.5pt"> <font face="宋体"> <br />    以下?span lang="EN-US"> iBATIS SQL Maps 工作程Q对于理解概念很有帮助。大意是 1、你可以?JavaBean、Map cd、原始变量(或者它们的Wrapper ClassQ、XML 数据作ؓ(f)传入对象Q?、通过配置文g载入映射文gQ?、利用框架翻译成 JDBC 来访问数据库Q?、执行结果可以是 JavaBean、Map cd、原始变量的 Wrapper Class、XML 数据?br /></span></font> </span> <span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial"> <p>                              <img alt="" hspace="0" src="http://blog.csdn.net/images/blog_csdn_net/rosen/68948/r_map.jpg" align="baseline" border="0" /><br /><br /><br /><strong><font face="宋体" color="#ff0000" size="2">h意!引用、{贴本文应注明原作者:(x)Rosen Jiang 以及(qing)出处Q?/font></strong><a href="/rosen"><font face="宋体" color="#ff0000" size="2"><strong>http://m.tkk7.com/rosen</strong></font></a></p> </span> </p> <p> </p> <img src ="http://m.tkk7.com/rosen/aggbug/9931.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/rosen/" target="_blank">Rosen</a> 2005-08-12 14:03 <a href="http://m.tkk7.com/rosen/archive/2005/08/12/9931.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《我?O/R Mapping 之旅》勘误及(qing)补充http://m.tkk7.com/rosen/archive/2005/08/12/9916.htmlRosenRosenFri, 12 Aug 2005 03:41:00 GMThttp://m.tkk7.com/rosen/archive/2005/08/12/9916.htmlhttp://m.tkk7.com/rosen/comments/9916.htmlhttp://m.tkk7.com/rosen/archive/2005/08/12/9916.html#Feedback0http://m.tkk7.com/rosen/comments/commentRss/9916.htmlhttp://m.tkk7.com/rosen/services/trackbacks/9916.html《我?O/R Mapping 之旅(??/FONT>Q有一D对 People.hbm.xml 的分析,谈到Z么?inverse=”true”:(x)

在R辆管理系l中Q代表着一个拥有者拥有多台R辆。以 java.util.Set cd表示?inverse 用于标识双向兌中的被动方一端。inverse=false 的一方(L方)负责l护兌关系Q?STRONG>在R辆管理系l中Q?AutoInfo 作ؓ(f)L方,应该把它设ؓ(f)“true”?/FONT>q就好比你(被动?oneQ在某个聚会(x)上散发了许多名片Q但是有可能你不清楚接收者(d?manyQ的具体背景Q这个不要紧Q接收者在必要的时候会(x)和你联系是了(dl护关系Q?/FONT>

U色标识的句子容易让Z生歧异,好像是在说把 AtuoInfo 讄成“true”了。应改ؓ(f)Q?BR>
在R辆管理系l中QAtuoInfo 作ؓ(f)L方,应该?People 中设|?inverse =“true”?/FONT>

沿着思\往下走Q你也许?x)问Q什么才叫“主动维护关pZ?不妨看看下面的代码(摘自《我?O/R Mapping 之旅(??/FONT>Q:(x)

AutoInfo ai=new AutoInfo();
People people=new People();
public void DoTest() {
   try {
      Configuration cfg = new Configuration().configure();
      SessionFactory sessions = cfg.buildSessionFactory();
      Session session = sessions.openSession();
      Transaction tx = session.beginTransaction();
   
      ai.setLicensePlate("A00001");
      ai.setOwnerNo(people);
      people.setAddress("中国");
      people.setName("张三");
      people.addToAutoInfoSet(ai);
      session.save(people);
      tx.commit();
      session.close();
   } catch (Exception e) {
      System.out.println(e);
   }
}


把“ai.setOwnerNo(people)”注解了试试Q由?AutoInfo 没有dl护关系Q导?AUTO_INFO 表中 OWNER_NO 字段为“Null”。自?AutoInfo ?Poople ׃存在M联系了?/P>

人类的求知欲很强烈!
Z么非要用 AutoInfo 作ؓ(f)L方?People 作主控方不行Q好吧,?People.hbm.xml 删除inverse=”true”,再运行以上程序,其实也能保存Q只是多了一条SQLQ“update auto_info set OWNER_NO=? where AUTO_ID=?”,q就?AutoInfo 被动C改和 People 的联pR多执行一?SQL 意味着多了一些开销Q这是对性能不利的!


《我?O/R Mapping 之旅(??/FONT>Q有一D对张三W二ơ买车的E序和描qͼ(x)

 AutoInfo ai = new AutoInfo();
 People people = new People();
 public void DoTest() {
  try {
      Configuration cfg = new Configuration().configure();
      SessionFactory sessions = cfg.buildSessionFactory();
      Session session = sessions.openSession();
      Transaction tx = session.beginTransaction();
      people =
       (People) session
        .find(
         "from People where OWNER_ID=1")
        .get(0);
      ai.setLicensePlate("A00002");
      ai.setOwnerNo(people);
      people.getAutoInfoSet().add(ai);
      session.save(people);
      tx.commit();
      session.close();
  } catch (Exception e) {
      System.out.println(e);
  }
}


到这里,也许你会(x)有这L(fng)xQ“应该可以直接向 AUTO_INFO 表插入记录,不通过 People 对象中{Q像?SQL 一?Easy。?错了Q以前直接写 SQL 是可以办到的Q不q现在我们用的可?Hibernate Q一切都要以对象行事Q看?ai.setOwnerNo(people) 了吗Q传入参数是?People 对象实例Q不是简单的字段喔?/FONT>

q段解释太绝对了Q事实上可以直接保存 AutoInfo 对象Q而不用通过保存 People 来中转:(x)

AutoInfo ai = new AutoInfo();
People people = new People();
public void DoTest() {
  try {
      Configuration cfg = new Configuration().configure();
      SessionFactory sessions = cfg.buildSessionFactory();
      Session session = sessions.openSession();
      Transaction tx = session.beginTransaction();
      people =
       (People) session
        .find(
         "from People where OWNER_ID=1")
        .get(0);
      ai.setLicensePlate("A00002");
      ai.setOwnerNo(people);
      session.save(ai);
      tx.commit();
      session.close();
  } catch (Exception e) {
      System.out.println(e);
  }
}



《我?O/R Mapping 之旅(??/FONT>Q删?PEOPLE 表及(qing)其关联的 AUTO_INFO 表时Q程序是没有错,不过有更单的办法来删除:(x)

  try {
   Configuration cfg = new Configuration().configure();
   SessionFactory sessions = cfg.buildSessionFactory();
   Session session = sessions.openSession();
   Transaction tx = session.beginTransaction();
   session.delete("from People where OWNER_ID=1");
   tx.commit();
   session.close();
  } catch (Exception e) {
   System.out.println(e);
  }

Hibernate 中,要完成一ơ操作,可以有多U实现方式,哪种最好,p靠自己定Z?BR>


h意!引用、{贴本文应注明原作者:(x)Rosen Jiang 以及(qing)出处Q?/FONT>http://m.tkk7.com/rosen



Rosen 2005-08-12 11:41 发表评论
]]>
我的 O/R Mapping 之旅Q四Q?/title><link>http://m.tkk7.com/rosen/archive/2005/08/12/9915.html</link><dc:creator>Rosen</dc:creator><author>Rosen</author><pubDate>Fri, 12 Aug 2005 03:38:00 GMT</pubDate><guid>http://m.tkk7.com/rosen/archive/2005/08/12/9915.html</guid><wfw:comment>http://m.tkk7.com/rosen/comments/9915.html</wfw:comment><comments>http://m.tkk7.com/rosen/archive/2005/08/12/9915.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/rosen/comments/commentRss/9915.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/rosen/services/trackbacks/9915.html</trackback:ping><description><![CDATA[ <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接第三部分内容,本章节就要简单多了?/span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">市场是无情的Q机遇和危机无处不在。张三在l历q生意红火之后,接下来的一q内生意Zq连告负Q不得不把自q摊子收羃一下。这W一件事要把跑运输的车卖掉,是</span> <span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">那辆牌照为?/span> <span lang="EN-US" style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体">A00002”的</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?br /><br /><table style="WIDTH: 528px; HEIGHT: 438px" height="438" cellspacing="0" cellpadding="0" width="528" border="1"><tbody><tr><td><p><font size="2">package com.dao;</font></p><p><font size="2">import java.util.*;</font></p><p><font size="2">import net.sf.hibernate.*;<br />import net.sf.hibernate.cfg.*;</font></p><p><font size="2">import bo.*;</font></p><p><font size="2">public class Test {</font></p><p><font size="2"> AutoInfo ai;<br /> People people;<br /> public void DoTest() {<br />  try {<br />   Configuration cfg = new Configuration().configure();<br />   SessionFactory sessions = cfg.buildSessionFactory();<br />   Session session = sessions.openSession();<br />   Transaction tx = session.beginTransaction();<br />   ai =<br />    (AutoInfo) session.find(<br />     "from AutoInfo where LICENSE_PLATE='A00002'").get(<br />     0);<br />   people = ai.getOwnerNo();<br />   people.getAutoInfoSet().remove(ai);<br />   session.delete(ai);<br />   tx.commit();<br />   session.close();<br />  } catch (Exception e) {<br />   System.out.println(e);<br />  }<br /> }<br />}</font></p></td></tr></tbody></table></span> </p> <br /> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <b style="mso-bidi-font-weight: normal"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Z么要?/span> <span lang="EN-US">People </span> </b> <b style="mso-bidi-font-weight: normal"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象中移除某?/span> <span lang="EN-US">AutoInfo </span> </b> <b style="mso-bidi-font-weight: normal"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象Q?/span> </b> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <b style="mso-bidi-font-weight: normal"> <span lang="EN-US"> <span style="mso-spacerun: yes">    </span> </span> </b> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">问得好!传统</span> <span lang="EN-US"> JDBC </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">E序可以直接删除以?/span> <span lang="EN-US">A00002</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">”ؓ(f)条g查询出的记录Q这h有问题。但如果?/span> <span lang="EN-US"> Hibernate </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中用同样的方式直接删除,?x)引起不的ȝQ?br /><br /><table style="WIDTH: 529px; HEIGHT: 36px" height="36" cellspacing="0" cellpadding="0" width="529" border="1"><tbody><tr><td><font size="2">net.sf.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations): 2, of class: bo.AutoInfo</font></td></tr></tbody></table></span> </p> <br /> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US"> <span style="mso-spacerun: yes">    </span> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">造成无法删除的原因是</span> <span lang="EN-US">PEOPLE </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/span> <span lang="EN-US">AUTO_INFO </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表存在着一对多Q?/span> <span lang="EN-US">one-to-many</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q关p,惌?/span> <span lang="EN-US">AUTO_INFO </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">删除一条记录,必ȝ</span> <span lang="EN-US">people.getAutoInfoSet().remove(ai) </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Ҏ(gu)?/span> <span lang="EN-US"> People </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">U除以?/span> <span lang="EN-US">A00002</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">”ؓ(f)条g查询出的</span> <span lang="EN-US">AutoInfo </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象Q才能真正删除该</span> <span lang="EN-US">AutoInfo </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象?/span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US"> <span style="mso-spacerun: yes">    </span> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">从张三的p中回q头来,q次</span> <span lang="EN-US"> Hibernate </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">之旅也即结束了。最后要体验的是删除</span> <span lang="EN-US">PEOPLE </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表及(qing)其关联的</span> <span lang="EN-US">AUTO_INFO </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表?br /><br /><table style="WIDTH: 527px; HEIGHT: 100px" height="100" cellspacing="0" cellpadding="0" width="527" border="1"><tbody><tr><td><p><font size="2">package com.dao;</font></p><p><font size="2">import java.util.*;</font></p><p><font size="2">import net.sf.hibernate.*;<br />import net.sf.hibernate.cfg.*;</font></p><p><font size="2">import bo.*;</font></p><p><font size="2">public class Test {</font></p><p><font size="2"> People people;<br /> public void DoTest() {<br />  try {<br />   Configuration cfg = new Configuration().configure();<br />   SessionFactory sessions = cfg.buildSessionFactory();<br />   Session session = sessions.openSession();<br />   Transaction tx = session.beginTransaction();<br />   people =<br />    (People) session.load(People.class,new Integer(1));<br />   session.delete(people);<br />   tx.commit();<br />   session.close();<br />  } catch (Exception e) {<br />   System.out.println(e);<br />  }<br /> }<br />}</font></p></td></tr></tbody></table></span> </p> <br /> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US"> <span style="mso-spacerun: yes">    </span>Hibernate </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的优势又一ơ体现出来。我们只需把一对多Q?/span> <span lang="EN-US">one-to-many</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q关pM?/span> <span lang="EN-US">one</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">”这方删除,与之相关联的所有其他记录会(x)一q删除?/span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US"> <span style="mso-spacerun: yes">    </span> </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">最后,通过q次旅程Q也把</span> <span lang="EN-US"> Hibernate </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的特性体验了一把。作ZU?/span> <span lang="EN-US"> O/R Mapping </span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">实现Q它是很优秀的,希望我们都可以用好它?br /><br /><br /><br /><strong><font color="#ff0000" size="2">h意!引用、{贴本文应注明原作者:(x)Rosen Jiang 以及(qing)出处Q?/font></strong><a href="/rosen"><font color="#ff0000" size="2"><strong>http://m.tkk7.com/rosen</strong></font></a></span> </p> <img src ="http://m.tkk7.com/rosen/aggbug/9915.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/rosen/" target="_blank">Rosen</a> 2005-08-12 11:38 <a href="http://m.tkk7.com/rosen/archive/2005/08/12/9915.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我的 O/R Mapping 之旅Q三Q?/title><link>http://m.tkk7.com/rosen/archive/2005/08/12/9914.html</link><dc:creator>Rosen</dc:creator><author>Rosen</author><pubDate>Fri, 12 Aug 2005 03:36:00 GMT</pubDate><guid>http://m.tkk7.com/rosen/archive/2005/08/12/9914.html</guid><wfw:comment>http://m.tkk7.com/rosen/comments/9914.html</wfw:comment><comments>http://m.tkk7.com/rosen/archive/2005/08/12/9914.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/rosen/comments/commentRss/9914.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/rosen/services/trackbacks/9914.html</trackback:ping><description><![CDATA[<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在本部分中,才真正开始对</SPAN><SPAN lang=EN-US> AUTO_INFO </SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/SPAN> <SPAN lang=EN-US>PEOPLE </SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表进行操作?/SPAN></P> <P></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">    </SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">要让</SPAN> <SPAN lang=EN-US style="mso-bidi-font-weight: bold; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">Hibernate</SPAN><SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt"> </SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">跑v来,q要了解其中几个关键对象Q?/SPAN><SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt"> <P></P></SPAN> <P></P> <P></P> <P></P> <P></P> <P></P> <P></P> <P></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left><SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt"><SPAN style="mso-spacerun: yes">        </SPAN></SPAN><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-weight: bold; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">net.sf.hibernate.cfg.Configuration 的实例负责管?</SPAN><SPAN lang=EN-US style="mso-bidi-font-weight: bold; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">Hibernate </SPAN><SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-weight: bold; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">配置信息Q比如数据库q接、数据库</SPAN><SPAN style="mso-bidi-font-weight: bold; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt"> </SPAN><SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">dialect</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-weight: bold; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">Q还有最重要的映文件初始化工作?/SPAN><SPAN lang=EN-US style="mso-bidi-font-weight: bold; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt"> <P></P></SPAN> <P></P> <P></P> <P></P> <P></P> <P></P> <P></P> <P></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left><SPAN lang=EN-US style="mso-bidi-font-weight: bold; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt"><SPAN style="mso-spacerun: yes">        </SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-weight: bold; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">E序Z得到</SPAN><SPAN style="mso-bidi-font-weight: bold; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt"> </SPAN><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-weight: bold; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">Session 实例Q必d要得到它的工?nbsp;net.sf.hibernate.SessionFactoryQSessionFactory </SPAN><SPAN style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-weight: bold; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">的实?/SPAN><SPAN style="COLOR: black; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">?/SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"> </SPAN><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-weight: bold; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">Configuration 构造? <P></P></SPAN> <P></P> <P></P> <P></P> <P></P> <P></P> <P></P> <P></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-weight: bold; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt"><SPAN style="mso-spacerun: yes">    net.sf.hibernate.Session </SPAN></SPAN><SPAN style="COLOR: black; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">是一切数据库操作的基Q和<SPAN lang=EN-US> JDBC ?</SPAN></SPAN><SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">Connection</SPAN><SPAN lang=EN-US style="FONT-SIZE: 10pt; mso-font-kerning: 0pt"> </SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">意义一PSession 实例?SessionFactory 获得</SPAN><SPAN style="COLOR: black; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">?SPAN lang=EN-US> <P></P></SPAN></SPAN> <P></P> <P></P> <P></P> <P></P> <P></P> <P></P> <P></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt"><SPAN style="mso-spacerun: yes">    net.sf.hibernate.Transaction 的实例由 Session 获得</SPAN></SPAN><SPAN style="COLOR: black; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">Hibernate </SPAN><SPAN style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">不具备事务管理能力,</SPAN><SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">Hibernate </SPAN><SPAN style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">其委托l底层的</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <SPAN lang=EN-US>JDBC </SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">或?/SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"> </SPAN><SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">JTA</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">Q以实现事务理和调度功能。在本文中?<SPAN lang=EN-US>JDBC 事务理?/SPAN></SPAN><SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"> <P></P></SPAN> <P></P> <P></P> <P></P> <P></P> <P></P> <P></P> <P></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt"><SPAN style="mso-spacerun: yes"></SPAN> <P></P></SPAN> <P></P> <P></P> <P></P> <P></P> <P></P> <P></P> <P></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left><SPAN style="COLOR: black; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">把以上的知识串v来吧Q?SPAN lang=EN-US> <P></P></SPAN></SPAN> <P></P> <P></P> <P></P> <P></P> <P></P> <P></P> <P></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US> <P> <TABLE style="WIDTH: 586px; HEIGHT: 41px" height=41 cellSpacing=0 cellPadding=0 width=586 border=1> <TBODY> <TR> <TD><FONT size=2> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left><SPAN lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-weight: bold; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">Configuration cfg = new Configuration().configure(); <P></P></SPAN> <P></P> <P></P> <P></P> <P></P> <P></P> <P></P> <P></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left><SPAN lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-weight: bold; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">SessionFactory sessions = cfg.buildSessionFactory(); <P></P></SPAN> <P></P> <P></P> <P></P> <P></P> <P></P> <P></P> <P></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left><SPAN lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-weight: bold; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">Session session = sessions.openSession(); <P></P></SPAN> <P></P> <P></P> <P></P> <P></P> <P></P> <P></P> <P></P><SPAN lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-weight: bold; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">Transaction tx = session.beginTransaction();</SPAN></FONT></TD></TR></TBODY></TABLE></SPAN> <BR><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">E序W一q马上出场?/SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">有位叫张三的人,他买了辆车。由于是W一ơ买车,q入车辆理pȝ后要?/SPAN><SPAN lang=EN-US>AUTO_INFO </SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/SPAN><SPAN lang=EN-US> PEOPLE </SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表都q行</SPAN><SPAN lang=EN-US> insert </SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">操作?/SPAN></P> <P></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">形成的一对多Q?/SPAN><SPAN lang=EN-US>one-to-many</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q关pM存如下:(x)</SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-layout-grid-align: none" align=left><SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt"> <P> <TABLE style="WIDTH: 588px; HEIGHT: 100px" height=100 cellSpacing=0 cellPadding=0 width=588 border=1> <TBODY> <TR> <TD> <P><FONT size=2>package com.dao;</FONT></P> <P><FONT size=2>import java.util.*;</FONT></P> <P><FONT size=2>import net.sf.hibernate.*;<BR>import net.sf.hibernate.cfg.*;</FONT></P> <P><FONT size=2>import bo.*;</FONT></P> <P><FONT size=2>public class Test {</FONT></P> <P><FONT size=2> List list;<BR> AutoInfo ai=new AutoInfo();<BR>    People people=new People();<BR> public void DoTest() {<BR>  try {<BR>   Configuration cfg = new Configuration().configure();<BR>   SessionFactory sessions = cfg.buildSessionFactory();<BR>   Session session = sessions.openSession();<BR>   Transaction tx = session.beginTransaction();<BR>   <BR>   people.setAddress("中国");<BR>   people.setName("张三");<BR>   people.addToAutoInfoSet(ai);<BR>   ai.setLicensePlate("A00001");<BR>   ai.setOwnerNo(people);<BR>   session.save(people);<BR>   tx.commit();<BR>   session.close();<BR>  } catch (Exception e) {<BR>   System.out.println(e);<BR>  }<BR> }<BR>}</FONT></P></TD></TR></TBODY></TABLE></P></SPAN> <P></P> <P><SPAN style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">    分别讄?</SPAN><SPAN lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-weight: bold; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">AutoInfo</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">?SPAN lang=EN-US>People 对象属性后Q调?</SPAN></SPAN><SPAN lang=EN-US style="mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">Session.save() </SPAN><SPAN style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">Ҏ(gu)保存Q然后事务提交,最后关?/SPAN><SPAN style="mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt"> <SPAN lang=EN-US>Session</SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">。好了,看看数据库吧Q一切都已保存好了?/SPAN></P> <P></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">E序W二q出场?/SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">张三后来做生意,自己l营得很好,打算再买辆R跑运输。对于第二次买RQR辆管理系l的</SPAN><SPAN lang=EN-US> PEOPLE </SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表原本已l记录了他的基本信息Q遂不对</SPAN><SPAN lang=EN-US> PEOPLE </SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表操作。只?/SPAN> <SPAN lang=EN-US>AUTO_INFO</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/SPAN> <SPAN lang=EN-US>insert </SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一条R辆记录即可?/SPAN></P> <P></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">形成的一对多Q?/SPAN><SPAN lang=EN-US>one-to-many</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q关pM存如下:(x)</SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 20pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-layout-grid-align: none" align=left><SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"> <P> <TABLE style="WIDTH: 587px; HEIGHT: 100px" height=100 cellSpacing=0 cellPadding=0 width=587 border=1> <TBODY> <TR> <TD> <P><FONT size=2>package com.dao;</FONT></P> <P><FONT size=2>import java.util.*;</FONT></P> <P><FONT size=2>import net.sf.hibernate.*;<BR>import net.sf.hibernate.cfg.*;</FONT></P> <P><FONT size=2>import bo.*;</FONT></P> <P><FONT size=2>public class Test {</FONT></P> <P><FONT size=2> List list;<BR> AutoInfo ai = new AutoInfo();<BR> People people = new People();<BR> public void DoTest() {<BR>  try {<BR>   Configuration cfg = new Configuration().configure();<BR>   SessionFactory sessions = cfg.buildSessionFactory();<BR>   Session session = sessions.openSession();<BR>   Transaction tx = session.beginTransaction();<BR>   people =<BR>    (People) session<BR>     .find(<BR>      "from People where OWNER_ID=1")<BR>     .get(0);<BR>   ai.setLicensePlate("A00002");<BR>   ai.setOwnerNo(people);<BR>   people.getAutoInfoSet().add(ai);<BR>   session.save(people);<BR>   tx.commit();<BR>   session.close();<BR>  } catch (Exception e) {<BR>   System.out.println(e);<BR>  }<BR> }<BR>}</FONT></P></TD></TR></TBODY></TABLE></P></SPAN> <P></P> <P><SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">    session.find() Ҏ(gu)q回一?List 接口的实例,里面装着 POQ其中的 </SPAN><SPAN lang=EN-US style="mso-ascii-font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">?/SPAN><SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">from People where OWNER_ID=1</SPAN><SPAN lang=EN-US style="FONT-SIZE: 10pt; mso-ascii-font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">?/SPAN><SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"> </SPAN><SPAN style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">是大名鼎鼎?SPAN lang=EN-US> HQL(</SPAN></SPAN><SPAN lang=EN-US style="FONT-FAMILY: 'Courier New'; mso-bidi-font-weight: bold; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">Hibernate Query Language</SPAN><SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">) 了,是不是很?SQL 呢?PEOPLE 表和 AUTO_INFO 表存在一对多关系Q也需?People 对象来持有多?AutoInfo 对象Q以 Set </SPAN><SPAN style="COLOR: black; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">接口?/SPAN><SPAN style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">实例装Q参?SPAN lang=EN-US>PeoplecL代码Q,再通过 </SPAN></SPAN><SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">people.getAutoInfoSet().add(ai) </SPAN><SPAN style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">?<SPAN lang=EN-US>AUTO_INFO 表添加一条新U录。好了,执行完以后,再检查数据库吧?/SPAN></SPAN></P> <P></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left><SPAN style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">q段代码<SPAN lang=EN-US> <P></P></SPAN></SPAN> <P></P> <P></P> <P></P> <P></P> <P></P> <P></P> <P></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt"> <TABLE style="WIDTH: 579px; HEIGHT: 23px" height=23 cellSpacing=0 cellPadding=0 width=579 border=1> <TBODY> <TR> <TD><FONT size=2>people = (People) session.find("from People where OWNER_ID=1").get(0);</FONT></TD></TR></TBODY></TABLE><BR>可以?/SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 5.25pt; TEXT-INDENT: -5.25pt; TEXT-ALIGN: left; mso-char-indent-count: -.5; mso-layout-grid-align: none" align=left><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt"> <TABLE style="WIDTH: 573px; HEIGHT: 23px" height=23 cellSpacing=0 cellPadding=0 width=573 border=1> <TBODY> <TR> <TD><FONT size=2>people =(People) session.load(People.class,new Integer(1));</FONT></TD></TR></TBODY></TABLE><BR>互换?/SPAN><SPAN style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">在本例中 <SPAN lang=EN-US>List 接口实例 size() ?1Q即其中只有一?POQ?</SPAN></SPAN><SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 0pt">session.load() </SPAN><SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-family: 'Courier New'; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">是根据持久对象和主键来返回相?<SPAN lang=EN-US>POQ也只是单个。所以这两种方式q回的都是相?PO。采用哪U方式由你决定?/SPAN></SPAN></P> <P></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-layout-grid-align: none" align=left><SPAN style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">到这里,也许你会(x)有这L(fng)xQ“应该可以直接向 <SPAN lang=EN-US>AUTO_INFO 表插入记录,不通过 People 对象中{Q像?SQL 一?Easy。?错了Q以前直接写 SQL 是可以办到的Q不q现在我们用的可?Hibernate Q一切都要以对象行事Q看?</SPAN></SPAN><SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">ai.setOwnerNo(people) </SPAN><SPAN style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">了吗Q传入参数是?SPAN lang=EN-US> People 对象实例Q不是简单的字段喔?/SPAN></SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-layout-grid-align: none" align=left><SPAN style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt"><SPAN lang=EN-US></SPAN></SPAN></P> <P></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">E序W三q出场?/SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-layout-grid-align: none" align=left><SPAN style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">呵呵Q这?/SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">W三q是最单的了,W一U一对多Q?/SPAN><SPAN lang=EN-US>one-to-many</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q的查询Q?/SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-layout-grid-align: none" align=left><SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt"> <P> <TABLE style="WIDTH: 588px; HEIGHT: 100px" height=100 cellSpacing=0 cellPadding=0 width=588 border=1> <TBODY> <TR> <TD> <P><FONT size=2>package com.dao;</FONT></P> <P><FONT size=2>import java.util.*;</FONT></P> <P><FONT size=2>import net.sf.hibernate.*;<BR>import net.sf.hibernate.cfg.*;</FONT></P> <P><FONT size=2>import bo.*;</FONT></P> <P><FONT size=2>public class Test {</FONT></P> <P><FONT size=2> List list;<BR> AutoInfo ai = new AutoInfo();<BR> People people = new People();<BR> public void DoTest() {<BR>  try {<BR>   Configuration cfg = new Configuration().configure();<BR>   SessionFactory sessions = cfg.buildSessionFactory();<BR>   Session session = sessions.openSession();<BR>   List list =<BR>    session.find(<BR>     "select ai from AutoInfo as ai where ai.OwnerNo.Id=1");<BR>   for (int i = 0; i < list.size(); i++) {<BR>    ai=(AutoInfo)list.get(i);<BR>    System.out.println(ai.getLicensePlate());<BR>    people=ai.getOwnerNo();<BR>    System.out.println(people.getName());<BR>    System.out.println(people.getAddress());<BR>   }<BR>   session.close();<BR>  } catch (Exception e) {<BR>   System.out.println(e);<BR>  }<BR> }<BR>}</FONT></P></TD></TR></TBODY></TABLE>  <BR></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">    Cq底Q查查张三一共有多少辆R?/SPAN><SPAN lang=EN-US style="mso-ascii-font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">?/SPAN><SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">select ai from AutoInfo as ai where ai.OwnerNo.Id=1</SPAN><SPAN lang=EN-US style="mso-ascii-font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">?/SPAN><SPAN style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">Q这?SPAN lang=EN-US> HQL 要找的是 AutoInfo 对象Q而传l?SQL q么写:(x)“select p.name,p.address,ai.license_plate from people p,auto_info ai where p.owner_id=1”。由?AUTO_INFO 表是“many”表Q?PEOPLE 表是“one”表Q我的做法是以“many”表为基q回它的多个 POQ其中再持有“one”表的信息。“ai.OwnerNo.Id=1”就是说通过主键参数为?”的 PEOPLE 表记录来取出相应 AUTO_INFO 表记录?/SPAN></SPAN></P> <P></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0; mso-layout-grid-align: none" align=left><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对于一对多Q?/SPAN><SPAN lang=EN-US>one-to-many</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q关p,q有W二U查询方式:(x)</SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left><SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt"> <P> <TABLE style="WIDTH: 584px; HEIGHT: 100px" height=100 cellSpacing=0 cellPadding=0 width=584 border=1> <TBODY> <TR> <TD> <P><FONT size=2>package com.dao;</FONT></P> <P><FONT size=2>import java.util.*;</FONT></P> <P><FONT size=2>import net.sf.hibernate.*;<BR>import net.sf.hibernate.cfg.*;</FONT></P> <P><FONT size=2>import bo.*;</FONT></P> <P><FONT size=2>public class Test {</FONT></P> <P><FONT size=2> AutoInfo ai = new AutoInfo();<BR> People people = new People();<BR> public void DoTest() {<BR>  try {<BR>   Configuration cfg = new Configuration().configure();<BR>   SessionFactory sessions = cfg.buildSessionFactory();<BR>   Session session = sessions.openSession();<BR>   people = (People) session.load(People.class, new Integer(1));<BR>   Iterator iterator = people.getAutoInfoSet().iterator();<BR>   System.out.println(people.getName());<BR>   System.out.println(people.getAddress());<BR>   while (iterator.hasNext()) {<BR>    ai = (AutoInfo) iterator.next();<BR>    System.out.println(ai.getLicensePlate());<BR>   }<BR>   session.close();<BR>  } catch (Exception e) {<BR>   System.out.println(e);<BR>  }<BR> }<BR>}</FONT></P></TD></TR></TBODY></TABLE></SPAN></P> <P></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left><SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt"><SPAN style="mso-spacerun: yes">    </SPAN>people = (People) session.load(People.class, new Integer(1)) 取出单个 People 对象Q其中持有以 Set 装的若q?AutoInfo 对象实例QIterator iterator = people.getAutoInfoSet().iterator() ?Set 立即转化?Iterator Q最后用 while (iterator.hasNext()) 循环取出其中的R牌号码?/SPAN></P> <P></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left><SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt"><SPAN style="mso-spacerun: yes">    </SPAN>W一</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">U一对多Q?/SPAN><SPAN lang=EN-US>one-to-many</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q的查询实际上我把它转换成了多对一Q?/SPAN><SPAN lang=EN-US>many -to- one</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q的查询。这U{换后有两个缺点:(x)一、由</SPAN><SPAN lang=EN-US> HQL </SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">转ؓ(f)</SPAN><SPAN lang=EN-US> SQL </SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">输出Ӟ打印?/SPAN><SPAN lang=EN-US> SQL </SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">条数多于直接一对多Q?/SPAN><SPAN lang=EN-US>one-to-many</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q关pL询;二、其中的</SPAN> <SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">People 对象存在着大量冗余Q只需要一个实例,l果取出?List.size() 个相同的实例Q。我们知道,数据库的性能是有限的Q构造对象的代h(hun)是高昂的Q所以应量减少不必要的性能开销?/SPAN></P> <P></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left><SPAN lang=EN-US style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt"><SPAN style="mso-spacerun: yes">    </SPAN>虽然我个Z?/SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一对多Q?/SPAN><SPAN lang=EN-US>one-to-many</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q查询{换成多对一Q?/SPAN><SPAN lang=EN-US>many -to- one</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q查询,但事实上有些开发团队却乐意采用Q即使他们知道性能有略微的降低。在q没有更深入研究之前Q各位看官有何看法呢Q?BR><BR><BR><STRONG><FONT color=#ff0000 size=2>h意!引用、{贴本文应注明原作者:(x)Rosen Jiang 以及(qing)出处Q?/FONT></STRONG><A href="http://m.tkk7.com/rosen"><FONT color=#ff0000 size=2><STRONG>http://m.tkk7.com/rosen</STRONG></FONT></A></SPAN></P><img src ="http://m.tkk7.com/rosen/aggbug/9914.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/rosen/" target="_blank">Rosen</a> 2005-08-12 11:36 <a href="http://m.tkk7.com/rosen/archive/2005/08/12/9914.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我的 O/R Mapping 之旅Q二Q?/title><link>http://m.tkk7.com/rosen/archive/2005/08/12/9911.html</link><dc:creator>Rosen</dc:creator><author>Rosen</author><pubDate>Fri, 12 Aug 2005 03:30:00 GMT</pubDate><guid>http://m.tkk7.com/rosen/archive/2005/08/12/9911.html</guid><wfw:comment>http://m.tkk7.com/rosen/comments/9911.html</wfw:comment><comments>http://m.tkk7.com/rosen/archive/2005/08/12/9911.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://m.tkk7.com/rosen/comments/commentRss/9911.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/rosen/services/trackbacks/9911.html</trackback:ping><description><![CDATA[     摘要: 在上一部分我只讲到如何通过数据库中的表生成映射文g? POJO 。在q一部分中,我将讲解映射文g?       ...  <a href='http://m.tkk7.com/rosen/archive/2005/08/12/9911.html'>阅读全文</a><img src ="http://m.tkk7.com/rosen/aggbug/9911.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/rosen/" target="_blank">Rosen</a> 2005-08-12 11:30 <a href="http://m.tkk7.com/rosen/archive/2005/08/12/9911.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我的 O/R Mapping 之旅Q一Q?/title><link>http://m.tkk7.com/rosen/archive/2005/08/12/9910.html</link><dc:creator>Rosen</dc:creator><author>Rosen</author><pubDate>Fri, 12 Aug 2005 03:26:00 GMT</pubDate><guid>http://m.tkk7.com/rosen/archive/2005/08/12/9910.html</guid><wfw:comment>http://m.tkk7.com/rosen/comments/9910.html</wfw:comment><comments>http://m.tkk7.com/rosen/archive/2005/08/12/9910.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/rosen/comments/commentRss/9910.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/rosen/services/trackbacks/9910.html</trackback:ping><description><![CDATA[ <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> <span style="mso-spacerun: yes">    </span> </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">首先要感谢我所在的</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> Team </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">意识C传统</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> JDBC </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开发的U种不Q{而开始关?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> O/R Mapping </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">领域的成果。说?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> O/R Mapping</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q我认ؓ(f)在对象数据库q没有真正成熟的时候它是一个不错的选择Q看?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> SUN </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> JDO 2.0 </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">规范吧,它的卛_发布?yu)?x)把这个领域推向更高的境界。再看看我们的开源社区呢Q喔Q发C</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> Hibernate</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q从现在开始,我的焦点放?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> Hibernate </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">上面Q一个优U?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black">O/R Mapping </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">工具?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> <p> </p> </span> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> <span style="mso-spacerun: yes">    </span> </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在没有正式开始旅行之前,让我们区分几个名词?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black">POJO</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q在</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> Hibernate </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中代表包?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> Seter</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black">Geter </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">q些最基本操作的值对象。?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> BO</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q代表包含一些业务逻辑的值对象,它的作用域很大,也就是说</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> BO </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在充当持久类的同时可以传?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> UI </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">层?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black">PO</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q代表持久对象,是纳?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> Hibernate </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">理框架中的Q在一定程度上可以和值对象的概念互换Q值对象经q?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> Hibernate </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">q行处理Q就变成?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> PO </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black">Hibernate </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">配置文gQ?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black">hibernate.cfg.xml </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> hibernate.properties</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q不q推荐?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> XML </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">格式。映文?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> *.hbm.xml</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q映文件的作用是将</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> POJO </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">与关pd数据库数据相l定Q作Z个桥梁。另外,为数据库中的表进行手工编写映文件可不是件好差事Q幸好开源社Z也有一同h法的人,他们开发了</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> hibernateSynchronizer </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">映射工具Q可?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> http://www.binamics.com/hibernatesync/eclipse2.1/ </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下蝲?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> <p> </p> </span> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> <span style="mso-spacerun: yes">    </span> </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">好了Q现在去</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> http://www.hibernate.org </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下蝲</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> Hibernate </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的开发包Q目前的版本?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> 2.1.6</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q。接着打开</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> Eclipse 2.1</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q在更新理器中安装</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> hibernateSynchronizer</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。据?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> Eclipse 3.0 </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">已内|映工P不过我没有试。安装完毕后Q新Z?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> Web </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">应用E序</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> HibernateTest</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q接着个应用程序添?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> Hibernate </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">cd</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> hibernate-2.1.6\hibernate-2.1\hibernate2.jar </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?qing)其依赖cd、数据库q接包,强烈?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> hibernate-2.1.6\hibernate-2.1\lib </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下的所有类库全部加载,如下图:(x)</span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> <shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> </shapetype> <stroke joinstyle="miter"> </stroke> <formulas> </formulas> <f eqn="if lineDrawn pixelLineWidth 0"> </f> <f eqn="sum @0 1 0"> </f> <f eqn="sum 0 0 @1"> </f> <f eqn="prod @2 1 2"> </f> <f eqn="prod @3 21600 pixelWidth"> </f> <f eqn="prod @3 21600 pixelHeight"> </f> <f eqn="sum @0 0 1"> </f> <f eqn="prod @6 1 2"> </f> <f eqn="prod @7 21600 pixelWidth"> </f> <f eqn="sum @8 21600 0"> </f> <f eqn="prod @7 21600 pixelHeight"> </f> <f eqn="sum @10 21600 0"> </f> <path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"> </path> <lock v:ext="edit" aspectratio="t"> </lock>      <shape id="_x0000_i1028" style="WIDTH: 414.75pt; HEIGHT: 285.75pt" type="#_x0000_t75"></shape><imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image001.jpg" o:title="1"></imagedata><img height="419" alt="" src="http://blog.csdn.net/images/blog_csdn_net/rosen/68948/o_1.jpg" width="608" border="0" /></span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> <span style="mso-spacerun: yes">    </span> </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接着使用</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> hibernateSynchronizer </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来生?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> hibernate.cfg.xml </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文gQ新建—?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black">></span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">其他—?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black">>Hibernate Configuration File</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q我使用的是</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> SQL Server </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数据库,各项配置参数见下图:(x)<br /></span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> <p> </p> </span> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black">   <shape id="_x0000_i1029" style="WIDTH: 414.75pt; HEIGHT: 403.5pt" type="#_x0000_t75"></shape><imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image003.jpg" o:title="2"></imagedata><br /><img height="543" alt="" src="http://blog.csdn.net/images/blog_csdn_net/rosen/68948/o_2.jpg" width="559" border="0" /></span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">     生成出来?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> hibernate.cfg.xml </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文gQ?br /></span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> <p> </p> </span> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black">   <img height="372" alt="" src="http://blog.csdn.net/images/blog_csdn_net/rosen/68948/o_3.jpg" width="561" border="0" /></span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> <span style="mso-spacerun: yes">    </span> </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在项目的</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> src </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">目录下新建四个包Q分别是</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black">bo</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black">bo.base</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black">bo.mapping</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black">com.dao</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q具体什么作用,到时候他们都?x)一一呈献。在开始映文件前q要做一件事Qؓ(f)应用E序</span> <span style="FONT-SIZE: 10pt; COLOR: black"> <span lang="EN-US">HibernateTest </span> </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">配置</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> hibernateSynchronizer </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q我更喜Ƣ自己写</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> DAO </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q所以没有配|?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> Data Access Objects</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q其他各参数如下图Q?/span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> <img height="316" alt="" src="http://blog.csdn.net/images/blog_csdn_net/rosen/68948/o_4.jpg" width="648" border="0" /></span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">      被映的?/span> <span style="FONT-SIZE: 10pt; COLOR: black"> <span lang="EN-US">AutoInfo </span> </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">l构如下Q?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black">id</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为其主键Q?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> <p> </p> </span> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> <p>                  <img height="241" alt="" src="http://blog.csdn.net/images/blog_csdn_net/rosen/68948/o_5.jpg" width="322" border="0" /></p> </span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> <span style="mso-spacerun: yes">    </span> </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">新徏—?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black">></span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">其他—?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black">>Hibernate Mapping File</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q配|好参数再?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black">Refresh</span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">”后Q选择要映的表,注意千万不要?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> 800*600 </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下映文Ӟ否则有些按钮不会(x)出现Q各w|参数见下图Q?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> <p> </p> </span> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> <p>    <img height="659" alt="" src="http://blog.csdn.net/images/blog_csdn_net/rosen/68948/o_6.jpg" width="499" border="0" /></p> </span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">       l于、终于,映射文g</span> <span style="FONT-SIZE: 10pt; COLOR: black"> </span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体">AutoInfo.hbm.xml</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> </span> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">l于出来了!</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black"> <p> </p> </span> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体"> <p> </p> <table style="WIDTH: 585px; HEIGHT: 100px" height="100" cellspacing="0" cellpadding="0" width="585" border="1"> <tbody> <tr> <td> <p> <font size="2">    <?xml version="1.0"?><br /><!DOCTYPE hibernate-mapping PUBLIC<br /> "-//Hibernate/Hibernate Mapping DTD//EN"<br /> "</font> <a > <font color="#000080" size="2">http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd</font> </a> <font size="2">" ></font> </p> <p> <font size="2"><hibernate-mapping package="bo.base"><br /> <class name="AutoInfo" table="AutoInfo"><br />  <property<br />   column="owner_dept"<br />   length="500"<br />   name="OwnerDept"<br />   not-null="false"<br />   type="string"<br />   /><br />  <property<br />   column="license_plate"<br />   length="50"<br />   name="LicensePlate"<br />   not-null="false"<br />   type="string"<br />   /><br />  <property<br />   column="owner"<br />   length="50"<br />   name="Owner"<br />   not-null="false"<br />   type="string"<br />   /><br />  <property<br />   column="owner_adderss"<br />   length="1000"<br />   name="OwnerAdderss"<br />   not-null="false"<br />   type="string"<br />   /><br />  <property<br />   column="id"<br />   length="18"<br />   name="Id"<br />   not-null="true"<br />   type="integer"<br />   /><br /> </class><br /></hibernate-mapping></font> </p> </td> </tr> </tbody> </table> </span> </b> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体"> <span style="mso-spacerun: yes">    </span>需要修改一?AutoInfo.hbm.xml 文g为其定义主键Q把Q? <p></p></span> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体"> <p> </p> <table style="WIDTH: 584px; HEIGHT: 100px" height="100" cellspacing="0" cellpadding="0" width="584" border="1"> <tbody> <tr> <td> <font size="2">    <property<br />     column="id"<br />     length="18"<br />     name="Id"<br />     not-null="true"<br />     type="integer"<br />    /></font> </td> </tr> </tbody> </table> </span> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 20pt; TEXT-ALIGN: left; mso-layout-grid-align: none; mso-char-indent-count: 2.0" align="left"> <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体">替换为:(x)<span lang="EN-US"><p></p></span></span> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体"> <p> </p> <table style="WIDTH: 584px; HEIGHT: 70px" height="70" cellspacing="0" cellpadding="0" width="584" border="1"> <tbody> <tr> <td> <font size="2">    <id name="Id" column="id" type="integer"><br />       <generator class="native"/><br />    </id></font> </td> </tr> </tbody> </table>    </span>    </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体"> <span style="mso-spacerun: yes">    </span>再接再厉Qؓ(f)映射文g生成 POJO。修?hibernate.cfg.xml 文g?</session-factory> 标签的上面加上刚才映的文g <mapping resource="bo/mapping/AutoInfo.hbm.xml" />。接着在“包资源理器”中点击 AutoInfo.hbm.xml 右键QHibernate Synchronizer—?gt;Synchronize Files。再看看 src 中的包:(x)<br /><p></p></span> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体"> <p>                <img height="86" alt="" src="http://blog.csdn.net/images/blog_csdn_net/rosen/68948/t_7.jpg" width="120" border="0" /></p> </span>                </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体"> <span style="mso-spacerun: yes"> </span> <p> </p> </span> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体"> <span style="mso-spacerun: yes">    </span> </span> <b style="mso-bidi-font-weight: normal"> <span lang="EN-US" style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体">O/R Mapping 的旅E先到这里吧Q后面的路将?x)越来越坎坷Q你准备好了吗?<br /><br /><br /><font color="#ff0000" size="2">h意!引用、{贴本文应注明原作者:(x)Rosen Jiang 以及(qing)出处Q?/font><a href="/rosen"><font color="#ff0000" size="2"><strong>http://m.tkk7.com/rosen</strong></font></a></span> </b> </p> <img src ="http://m.tkk7.com/rosen/aggbug/9910.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/rosen/" target="_blank">Rosen</a> 2005-08-12 11:26 <a href="http://m.tkk7.com/rosen/archive/2005/08/12/9910.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://m.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> վ֩ģ壺 <a href="http://508009.com" target="_blank">޾Ʒ˳߹ۿ </a>| <a href="http://zzzttt669.com" target="_blank">Ʒþ㽶Ѳ</a>| <a href="http://zhuguangbaoyu.com" target="_blank">պƷƵѹۿ</a>| <a href="http://snsdtv.com" target="_blank">߲91</a>| <a href="http://wyj4.com" target="_blank">ĻƵѹۿ</a>| <a href="http://appmofun.com" target="_blank">һƬѿ</a>| <a href="http://cztbm.com" target="_blank">sihuƷ</a>| <a href="http://lwjiheng.com" target="_blank">ëƬؿ</a>| <a href="http://sswg2.com" target="_blank">Ƶ</a>| <a href="http://0359jgyy.com" target="_blank">þúݺѹۿ2020</a>| <a href="http://luyifeile.com" target="_blank">һ</a>| <a href="http://0354888.com" target="_blank">91þþƷһ</a>| <a href="http://778002.com" target="_blank">2021պƵ</a>| <a href="http://118762.com" target="_blank">ŮοaƬ</a>| <a href="http://zjpcyh.com" target="_blank">Ʒһ߹ۿ</a>| <a href="http://www045888.com" target="_blank">˳߹ۿվƵ</a>| <a href="http://hwafarda.com" target="_blank">޹˾Ʒþþùһ </a>| <a href="http://www50884.com" target="_blank">Ʒþþþa</a>| <a href="http://haichuanwangluo.com" target="_blank">߹ۿ鶹91Ʒ</a>| <a href="http://902578.com" target="_blank">þҹҹ³³ƬӰ</a>| <a href="http://www-44334.com" target="_blank">99ֻоƷƵѹۿ17</a>| <a href="http://dqzlxgg.com" target="_blank">ԻȫƵվ</a>| <a href="http://bdgxhome.com" target="_blank">þùѸ</a>| <a href="http://lijieedu.com" target="_blank">վѹۿ</a>| <a href="http://339258.com" target="_blank">ҹƬѹۿ</a>| <a href="http://yy468.com" target="_blank">þ޾Ʒۿ</a>| <a href="http://by22877.com" target="_blank">av볱߹ۿ</a>| <a href="http://1178767.com" target="_blank">޹˾ƷӰ</a>| <a href="http://50077995.com" target="_blank">޾ƷŮþþþþþ</a>| <a href="http://o091i.com" target="_blank">һëƬaѲɫӰ</a>| <a href="http://yy885.com" target="_blank">ȫƵ߹ۿѸ </a>| <a href="http://601508.com" target="_blank">ҹ717</a>| <a href="http://ydstbj.com" target="_blank">þþAVҰ</a>| <a href="http://gayhh.com" target="_blank">һͼƬ</a>| <a href="http://wwwby1378.com" target="_blank">ѹۿƵ</a>| <a href="http://czshenyue.com" target="_blank">ˬִ̼վ</a>| <a href="http://www2019rz.com" target="_blank">ƷһʽӰ</a>| <a href="http://alankell.com" target="_blank">椸Ƶۿ</a>| <a href="http://meinvtaotu.com" target="_blank">һƵ߹ۿ</a>| <a href="http://fdsyjy.com" target="_blank">þþþAVƬ</a>| <a href="http://53reniao.com" target="_blank">һâ޵þ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>