??xml version="1.0" encoding="utf-8" standalone="yes"?>日韩欧美影院,国产日韩欧美在线观看,国产精品成人一区http://www.aygfsteel.com/1504/category/32239.html我在{待中守望着Q也在等待中q逐着Q守望着我的理想Q追逐着我的未来。梦是心的舞収ͼ心有多大Q舞台有多大。不L服输Q不轻言攑ּ。QQ:82424805,MSN:CF1504@Hotmail.com,E-mail:yyk1504@163.comzh-cnWed, 15 Apr 2009 07:24:06 GMTWed, 15 Apr 2009 07:24:06 GMT60Hibernate配置手册【{贴?/title><link>http://www.aygfsteel.com/1504/archive/2009/04/15/265664.html</link><dc:creator>O(∩_?O鱼阳~</dc:creator><author>O(∩_?O鱼阳~</author><pubDate>Wed, 15 Apr 2009 01:29:00 GMT</pubDate><guid>http://www.aygfsteel.com/1504/archive/2009/04/15/265664.html</guid><wfw:comment>http://www.aygfsteel.com/1504/comments/265664.html</wfw:comment><comments>http://www.aygfsteel.com/1504/archive/2009/04/15/265664.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/1504/comments/commentRss/265664.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/1504/services/trackbacks/265664.html</trackback:ping><description><![CDATA[<span style="color: #4b4b4b; font-family: Verdana; font-size: 13px; line-height: 19px; "><font size="3">http://blog.csdn.net/tutugogo/archive/2006/05/17/742323.aspx</font><br /> <p>Hibernate.cfg.xml配置文gQ?br /> <?xml version="1.0" encoding="utf-8"?><br /> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "hibernate-configuration-2.0.dtd"><br /> <hibernate-configuration><br />     <session-factory><br />         <!-- properties --><br />         <!-- jndi --><br />         <property name="connection.datasource">java:comp/env/jdbc/quickstart</property><br />         <property name="connection.provider_class">net.sf.hibernate.connection.DatasourceConnectionProvider</property><br />         <property name="dialect">net.sf.hibernate.dialect.SQLServerDialect</property><br />         <!-- jdbc<br />         <property name="connection.url">jdbc:microsoft:sqlserver://localhost:1433;SelectMethod=cursor;DatabaseName=pubs</property><br />         <property name="connection.driver_class">com.microsoft.jdbc.sqlserver.SQLServerDriver</property><br />         <property name="connection.username">sa</property><br />         <property name="connection.password"></property><br />          --><br />         <property name="jdbc.fetch_size">50</property><!-- 一ơ读的数据库记录?--><br />         <property name="jdbc.batch_size">30</property><!-- 讑֮Ҏ据库q行扚w删除 --><br />         <property name="show_sql">true</property><!-- Hibernate发送给数据库的sql昄出来 --><br />         <!-- Mapping files --><br />         <mapping resource="cat.hbm.xml"/><br />     </session-factory><br /> </hibernate-configuration></p> <br /> <p>数据库表主键的知识点Q?br /> Generator 为每?POJO 的实例提供唯一标识。一般情况,我们使用“native”。class 表示采用q成器接口net.sf.hibernate.id.IdentifierGenerator 实现的某个实例,其中包括Q?/p> <br /> <p>“assigned”<br /> 主键由外部程序负责生成,?save() 之前指定一个?/p> <br /> <p>“hilo”<br /> 通过hi/lo 法实现的主键生成机Ӟ需要额外的数据库表或字D|供高位值来源?/p> <br /> <p>“seqhilo”<br /> 与hilo cMQ通过hi/lo 法实现的主键生成机Ӟ需要数据库中的 SequenceQ适用于支?Sequence 的数据库Q如Oracle?/p> <br /> <p>“increment”<br /> 主键按数值顺序递增。此方式的实现机制ؓ在当前应用实例中l持一个变量,以保存着当前的最大|之后每次需要生成主键的时候将此值加1作ؓ主键。这U方式可能生的问题是:不能在集下使用?/p> <br /> <p>“identity”<br /> 采用数据库提供的主键生成机制。如DB2、SQL Server、MySQL 中的主键生成机制?/p> <br /> <p>“sequence”<br /> 采用数据库提供的 sequence 机制生成主键。如 Oralce 中的Sequence?/p> <br /> <p>“native”<br /> ?Hibernate Ҏ使用的数据库自行判断采用 identity、hilo、sequence 其中一U作Z键生成方式?/p> <br /> <p>“uuid.hex”<br /> ?Hibernate Z128 ?UUID 法 生成16 q制数|~码后以长度32 的字W串表示Q作Z键?/p> <br /> <p>“uuid.string”<br /> 与uuid.hex cMQ只是生成的主键未进行编码(长度16Q,不能应用?PostgreSQL 数据库中?/p> <br /> <p>“foreign”<br /> 使用另外一个相兌的对象的标识W作Z键?/p> <br /> <p>以下举例Q?br /> 1、指定参数的情况Q?br />     <id name="id" unsaved-value="0"> <br />       <generator class="sequence"><br />         <param name="sequence">SEQ_CHILD</param><br />       </generator><br /> </id><br /> 使用的是sequenceQ适合oracle数据库;</p> <br /> <p>2、对于sql server2000中的数据库子增字D?在配|文件用下列方法实玎ͼ<br /> <id name="id" type="long" unsaved-value="0"><br />      <column name="id" sql-type="numeric" not-null="true" /><br />      <generator class="identity" /> <br /> </id><br /> q里主要?identity:代表由sql server2000数据库自己提供子增字D?如果要hibernate自己提供,则用increment关键字来实现</p> <br /> <p>3、如果表中的主键用字W串cd:可以用hibernate自己提供的方法实C键唯一:<br />   <id name="id" type="string" unsaved-value="null"><br />       <column name="cid" sql-type="char(32)" not-null="true" /><br />       <generator class="uuid.hex" /><br />   </id><br /> 使用的是uuid.hex: 采用128位的法来生成一?2位字W串。最通用的一U方式。适用于所有数据库?/p> <br /> <p>重要的知识点:<br /> 1. 如果有部门表,有员工表,员工表中有dep_id,则表部门cd员工cLone-to-many的关p?<br />    可以使用:  ( 在部门类department中用下?<br />    Departmentc?  <br />      /**  部门的所有员?#160;  */<br />     private Set staffs = new TreeSet();<br />     <br />     xml的文?<br />       <set name="staffs" ><br />           <key column="dep_id"/><br />           <one-to-many class="hbp.sys.data.Staff"/><br />       </set><br />       如果是list,需要用索引<index> </index>,具体其中的含?不是很明?待以后研I?br />       <br />  2. 如果部门要有一个负责h,即部门表(tb_department)中有一个字D?staff_id.<br />      那么表示部门和负责h之间的关pLmany-to-one的关p?br />      Departmentc? <br />       /** 部门负责人id */<br />     private Staff staff;<br />     <br />     xml 文g<br />      <many-to-one name="staff" class="hbp.sys.data.Staff"  column="staff_id"/>  <br />   <br />  3. 多对多关p?一般我们是做一个中间关联表.我用角色和权限做了个例子,<br />       Right(id,name)     Role(id,name)   中间?tb_role_right(role_id,right_id)<br />       RightcM有一个Role的集?private Set roles=new TreeSet();<br />       RolecM也有一个Right的集?private Set rights=new TreeSet();<br />       则两者是明显的多对多关系.使用many-to-many来实?<br />       xml文g?br />       right.hbm.xml:如下:<br />         <set name="roles" table="tb_role_right" cascade="all"><br />            <key column="right_id"/><br />            <many-to-many column="role_id" class="hbp.sys.data.Role"/><br />         </set> <br />       role.hbm.xml文g中类?<br />         <set name="rights" table="tb_role_right" cascade="all"><br />           <key column="role_id"/><br />           <many-to-many column="right_id" class="hbp.sys.data.Right"/><br />         </set></p> <br /> <p>4. 几个值得注意的问?<br />         a)在xml?映射文g?写类的名字时一定用cȝ全名:??cd?(hbp.sys.data.Staff),q个错误使我费了半天?:(<br />         b)我在写实现基本DAO操作?写了<br />              session.delete("from Right as right where right.id="+id);  <br />              E序L报错,我折腾了半天,跟踪到底,才恍然大?hibernate在解析sql语句的时候把<br />              其中的right,当成了数据库中的双?"保留?),?q种关键?不能随便用啊,:)</p> <br /> <p>5. hibernate中HQL语言的查询根据你的sql的不同而返回不同的对象cd.<br />          如果你用session.find(String hql)<br />          一般会q回一个List,?from Staff staff;q回的是包含所有的员工对象的集?br />          如你的hql?select count(*) from Staff staff;则返回的是一个Integer对象<br />          如果你用的hql?select count(distinct staff.name),count(*) from Staff staff;则返回的是一个Object<br />          即Object[],需要先把他转换成Object[],然后在取[0],[1].<br />          q种设计我不知道hibernate是如何处理的,感觉既好也不?好的是可以用一个find获得L查询<br />          不好在于Ҏhql来处理返回结?Ҏ出错.</p> </span> <img src ="http://www.aygfsteel.com/1504/aggbug/265664.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/1504/" target="_blank">O(∩_?O鱼阳~</a> 2009-04-15 09:29 <a href="http://www.aygfsteel.com/1504/archive/2009/04/15/265664.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HSQL查询q【{ȝ?/title><link>http://www.aygfsteel.com/1504/archive/2009/02/22/256104.html</link><dc:creator>O(∩_?O鱼阳~</dc:creator><author>O(∩_?O鱼阳~</author><pubDate>Sun, 22 Feb 2009 11:50:00 GMT</pubDate><guid>http://www.aygfsteel.com/1504/archive/2009/02/22/256104.html</guid><wfw:comment>http://www.aygfsteel.com/1504/comments/256104.html</wfw:comment><comments>http://www.aygfsteel.com/1504/archive/2009/02/22/256104.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/1504/comments/commentRss/256104.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/1504/services/trackbacks/256104.html</trackback:ping><description><![CDATA[<span style="font-size: 12pt;"><span style="font-size: 12pt;">在spring+hibernate中:</span><span style="font-size: 12pt;">Hql</span><span style="font-size: 12pt;">中有中文参数Q如</span><span style="font-size: 12pt;">from test as c where c.name='张三'</span><span style="font-size: 12pt;">Q的话被译?/span><span style="font-size: 12pt;">sql</span><span style="font-size: 12pt;">的时候会出现qQ解军_法是?/span><span style="font-size: 12pt;">application.xml</span><span style="font-size: 12pt;">中加入以下语句: <div id="wmqeeuq" class="dp-highlighter"> <ol class="dp-xml"> <li id="wmqeeuq" class="alt"><span id="wmqeeuq" class="tag"><<span id="wmqeeuq" class="tag-name">prop</span> <span id="wmqeeuq" class="attribute">key</span>=<span id="wmqeeuq" class="attribute-value">"hibernate.query.factory_class"</span><span id="wmqeeuq" class="tag">></span>  </span> </li> <li id="wmqeeuq" class="">    org.hibernate.hql.classic.ClassicQueryTranslatorFactory    </li> <li id="wmqeeuq" class="alt">prop<span id="wmqeeuq" class="tag">></span>   </li> </ol> </div> 在hibernate.cfg.xml   中加入下面的属?  <br />     <br />   <property   name="hibernate.query.factory_class">   <br />     <br />             org.hibernate.hql.classic.ClassicQueryTranslatorFactory   <br />     <br />   </property>  </span></span> <img src ="http://www.aygfsteel.com/1504/aggbug/256104.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/1504/" target="_blank">O(∩_?O鱼阳~</a> 2009-02-22 19:50 <a href="http://www.aygfsteel.com/1504/archive/2009/02/22/256104.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hibernate一对多双向兌及inverse的作用[整理ȝ]http://www.aygfsteel.com/1504/archive/2009/02/22/256095.htmlO(∩_?O鱼阳~O(∩_?O鱼阳~Sun, 22 Feb 2009 11:36:00 GMThttp://www.aygfsteel.com/1504/archive/2009/02/22/256095.htmlhttp://www.aygfsteel.com/1504/comments/256095.htmlhttp://www.aygfsteel.com/1504/archive/2009/02/22/256095.html#Feedback0http://www.aygfsteel.com/1504/comments/commentRss/256095.htmlhttp://www.aygfsteel.com/1504/services/trackbacks/256095.htmlhttp://www.aygfsteel.com/Files/1504/Hibernate-onetomany.txt一个一对多的完整例?资料来源|络,q行整理.
people表:{peopleId,name}

address表:{addressId,peopleId,addressName,codeNumber}

package com.gpdi.test;

import org.hibernate.Session;

import com.gpdi.orm.object.Address;
import com.gpdi.orm.object.People;

public class Testp {

 /**
  * @param args
  */
 public static void main(String[] args)
 {
  People people = new People();
  people.setName("linda");
  Address address = new Address();
  address.setAddressName("yunnan");
  address.setCodeNumber("564123");
  address.setPeople(people);
  people.getAddresses().add(address);
  Session session = HibernateSessionFactory.currentSession();
  session.beginTransaction();
  session.save(people);
  session.getTransaction().commit();

 }

}

People.hbm.xml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
    Mapping file autogenerated by MyEclipse - Hibernate Tools
-->
<hibernate-mapping>
    <class name="com.gpdi.orm.object.People" table="People">
  <id name="id" column="peopleId" unsaved-value="0" >
  <generator class="increment">
  </generator>
  </id>
  <property name="name" column="name"></property>
  <set name="addresses" cascade="save-update">
  <key column="peopleId" not-null="true" />
  <one-to-many class="com.gpdi.orm.object.Address"/>
  </set>

    </class>
</hibernate-mapping>

People.java

package com.gpdi.orm.object;

import java.util.HashSet;
import java.util.Set;

public class People implements java.io.Serializable
{
 private long id;
 private String name;
 private Set addresses = new HashSet();
 public Set getAddresses() {
  return addresses;
 }
 public void setAddresses(Set addresses) {
  this.addresses = addresses;
 }
 public long getId() {
  return id;
 }
 public void setId(long id) {
  this.id = id;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }

}

Address.hbm.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
    Mapping file autogenerated by MyEclipse - Hibernate Tools
-->
<hibernate-mapping>
    <class name="com.gpdi.orm.object.Address" table="Address">
 <id name="id" column="addressId" unsaved-value="0">
 <generator class="increment">
 </generator>
 </id>
 <many-to-one name="people" column="peopleId" insert="false" update="false"></many-to-one>
 <property name="addressName" column="addressName"></property>
 <property name="codeNumber" column="codeNumber"></property>
    </class>
</hibernate-mapping>

Address.java
package com.gpdi.orm.object;
public class Address implements java.io.Serializable
{
 private long id;
 private People people;
 private String addressName;
 private String codeNumber;
 public String getAddressName() {
  return addressName;
 }
 public void setAddressName(String addressName) {
  this.addressName = addressName;
 }
 public String getCodeNumber() {
  return codeNumber;
 }
 public void setCodeNumber(String codeNumber) {
  this.codeNumber = codeNumber;
 }
 public long getId() {
  return id;
 }
 public void setId(long id) {
  this.id = id;
 }
 public People getPeople() {
  return people;
 }
 public void setPeople(People people) {
  this.people = people;
 }
}
下蝲例子:整理?br /> 一对多的完整例?/a>
下蝲例子:整理?br />



O(∩_?O鱼阳~ 2009-02-22 19:36 发表评论
]]>
Hibernate多对多双向关联映【{帖?/title><link>http://www.aygfsteel.com/1504/archive/2009/02/22/256083.html</link><dc:creator>O(∩_?O鱼阳~</dc:creator><author>O(∩_?O鱼阳~</author><pubDate>Sun, 22 Feb 2009 11:17:00 GMT</pubDate><guid>http://www.aygfsteel.com/1504/archive/2009/02/22/256083.html</guid><wfw:comment>http://www.aygfsteel.com/1504/comments/256083.html</wfw:comment><comments>http://www.aygfsteel.com/1504/archive/2009/02/22/256083.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/1504/comments/commentRss/256083.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/1504/services/trackbacks/256083.html</trackback:ping><description><![CDATA[<span style="font-size: 10pt;">转自Qhttp://blog.csdn.net/thinkGhoster/archive/2007/10/24/1841584.aspx<br />          Hibernate多对多双向关联映?</span> <p><span style="font-size: 10pt;">1、数据库l构</span></p> <p><span style="font-size: 10pt;">       category表:{ categoryId , categoryName }</span></p> <p><span style="font-size: 10pt;">       item表:{ itemId , itemName }</span></p> <p><span style="font-size: 10pt;">       category_item表:{ idCategory , idItem}</span></p> <p><span style="font-size: 10pt;">2、Category.hbm.xml</span></p> <div style="border-left-color: windowtext; padding-top: 4px; padding-right: 5.4pt; padding-bottom: 4px; padding-left: 5.4pt; background-image: none; background-repeat: repeat; background-attachment: scroll; background-color: #e6e6e6; width: 95%; background-position: 0% 0%; "> <div><span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff;"><</span><span style="color: #800000;">hibernate-mapping</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br /> <span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />    </span></span><span style="font-size: 10pt;"><span style="color: #0000ff;"><</span><span style="color: #800000;">class </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="com.persistent.Category"</span><span style="color: #ff0000;"> table</span><span style="color: #0000ff;">="category"</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br /> <span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />        </span></span><span style="font-size: 10pt;"><span style="color: #0000ff;"><</span><span style="color: #800000;">id </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="id"</span><span style="color: #ff0000;"> column</span><span style="color: #0000ff;">="categoryId"</span><span style="color: #ff0000;"> unsaved-value</span><span style="color: #0000ff;">="null"</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br /> <span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />            </span></span><span style="font-size: 10pt;"><span style="color: #0000ff;"><</span><span style="color: #800000;">generator </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="increment"</span><span style="color: #0000ff;">></</span><span style="color: #800000;">generator</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br /> <span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />        </span></span><span style="font-size: 10pt;"><span style="color: #0000ff;"></</span><span style="color: #800000;">id</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br /> <span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />        </span></span><span style="font-size: 10pt;"><span style="color: #0000ff;"><</span><span style="color: #800000;">property </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="name"</span><span style="color: #ff0000;"> column</span><span style="color: #0000ff;">="categoryName"</span><span style="color: #0000ff;">></</span><span style="color: #800000;">property</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br /> <span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />        </span></span><span style="font-size: 10pt;"><span style="color: #0000ff;"><</span><span style="color: #800000;">set </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="items"</span><span style="color: #ff0000;"> table</span><span style="color: #0000ff;">="category_item"</span><span style="color: #ff0000;"> cascade</span><span style="color: #0000ff;">="all"</span><span style="color: #ff0000;"> lazy</span><span style="color: #0000ff;">="false"</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br /> <span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />            </span></span><span style="font-size: 10pt;"><span style="color: #0000ff;"><</span><span style="color: #800000;">key </span><span style="color: #ff0000;">column</span><span style="color: #0000ff;">="idCategory"</span><span style="color: #0000ff;">></</span><span style="color: #800000;">key</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br /> <span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />            </span></span><span style="font-size: 10pt;"><span style="color: #0000ff;"><</span><span style="color: #800000;">many-to-many </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="com.persistent.Item"</span><span style="color: #ff0000;"> column</span><span style="color: #0000ff;">="idItem"</span><span style="color: #0000ff;">></</span><span style="color: #800000;">many-to-many</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br /> <span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />        </span></span><span style="font-size: 10pt;"><span style="color: #0000ff;"></</span><span style="color: #800000;">set</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br /> <span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />    </span></span><span style="font-size: 10pt;"><span style="color: #0000ff;"></</span><span style="color: #800000;">class</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br /> <span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span></span><span style="font-size: 10pt;"><span style="color: #0000ff;"></</span><span style="color: #800000;">hibernate-mapping</span><span style="color: #0000ff;">></span></span></div> </div> <p><span style="font-size: 10pt;">3、Item.hbm.xml</span></p> <div style="border-left-color: windowtext; padding-top: 4px; padding-right: 5.4pt; padding-bottom: 4px; padding-left: 5.4pt; background-image: none; background-repeat: repeat; background-attachment: scroll; background-color: #e6e6e6; width: 95%; background-position: 0% 0%; "> <div><span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff;"><</span><span style="color: #800000;">hibernate-mapping</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br /> <span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />    </span></span><span style="font-size: 10pt;"><span style="color: #0000ff;"><</span><span style="color: #800000;">class </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="com.persistent.Item"</span><span style="color: #ff0000;"> table</span><span style="color: #0000ff;">="item"</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br /> <span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />        </span></span><span style="font-size: 10pt;"><span style="color: #0000ff;"><</span><span style="color: #800000;">id </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="id"</span><span style="color: #ff0000;"> column</span><span style="color: #0000ff;">="itemId"</span><span style="color: #ff0000;"> unsaved-value</span><span style="color: #0000ff;">="null"</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br /> <span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />            </span></span><span style="font-size: 10pt;"><span style="color: #0000ff;"><</span><span style="color: #800000;">generator </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="increment"</span><span style="color: #0000ff;">></</span><span style="color: #800000;">generator</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br /> <span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />        </span></span><span style="font-size: 10pt;"><span style="color: #0000ff;"></</span><span style="color: #800000;">id</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br /> <span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />        </span></span><span style="font-size: 10pt;"><span style="color: #0000ff;"><</span><span style="color: #800000;">property </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="name"</span><span style="color: #ff0000;"> column</span><span style="color: #0000ff;">="itemName"</span><span style="color: #0000ff;">></</span><span style="color: #800000;">property</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br /> <span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />        </span></span><span style="font-size: 10pt;"><span style="color: #0000ff;"><</span><span style="color: #800000;">set </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="categories"</span><span style="color: #ff0000;"> table</span><span style="color: #0000ff;">="category_item"</span><span style="color: #ff0000;"> lazy</span><span style="color: #0000ff;">="false"</span><span style="color: #ff0000;"> inverse</span><span style="color: #0000ff;">="true"</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br /> <span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />            </span></span><span style="font-size: 10pt;"><span style="color: #0000ff;"><</span><span style="color: #800000;">key </span><span style="color: #ff0000;">column</span><span style="color: #0000ff;">="idItem"</span><span style="color: #0000ff;">></</span><span style="color: #800000;">key</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br /> <span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />            </span></span><span style="font-size: 10pt;"><span style="color: #0000ff;"><</span><span style="color: #800000;">many-to-many </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="com.persistent.Category"</span><span style="color: #ff0000;"> column</span><span style="color: #0000ff;">="idCategory"</span><span style="color: #0000ff;">></</span><span style="color: #800000;">many-to-many</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br /> <span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />        </span></span><span style="font-size: 10pt;"><span style="color: #0000ff;"></</span><span style="color: #800000;">set</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br /> <span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />    </span></span><span style="font-size: 10pt;"><span style="color: #0000ff;"></</span><span style="color: #800000;">class</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br /> <span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span></span><span style="font-size: 10pt;"><span style="color: #0000ff;"></</span><span style="color: #800000;">hibernate-mapping</span><span style="color: #0000ff;">></span></span></div> </div> <p><span style="font-size: 10pt;">4、Category.java和Item.java</span></p> <div style="border-left-color: windowtext; padding-top: 4px; padding-right: 5.4pt; padding-bottom: 4px; padding-left: 5.4pt; background-image: none; background-repeat: repeat; background-attachment: scroll; background-color: #e6e6e6; width: 95%; background-position: 0% 0%; "> <div><span style="font-size: 10pt;"><img id="_22_102_Open_Image" style="display: inline;" onclick="this.style.display='none'; document.getElementById('_22_102_Open_Text').style.display='none'; document.getElementById('_22_102_Closed_Image').style.display='inline'; document.getElementById('_22_102_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="_22_102_Closed_Image" style="display: none;" onclick="this.style.display='none'; document.getElementById('_22_102_Closed_Text').style.display='none'; document.getElementById('_22_102_Open_Image').style.display='inline'; document.getElementById('_22_102_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">class</span><span style="color: #000000;"> Category </span><span id="_22_102_Closed_Text" style="border: 1px solid #808080; display: none; background-color: #ffffff;">...</span></span><span id="_22_102_Open_Text" style="display: inline;"><span style="font-size: 10pt;"><span style="color: #000000;">{    <br /> <img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #0000ff;">private</span></span><span style="font-size: 10pt;"><span style="color: #000000;"> Long id;<br /> </span><span style="color: #0000ff;">    private</span></span><span style="font-size: 10pt;"><span style="color: #000000;"> String name;<br /> <img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #0000ff;">private</span><span style="color: #000000;"> Set items </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span></span><span style="color: #000000;"><span style="font-size: 10pt;"> HashSet();<br /> <img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" />...<br /> <img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></span><span style="color: #000000;"><br /> <span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><br /> <img id="_123_207_Open_Image" onclick="this.style.display='none'; document.getElementById('_123_207_Open_Text').style.display='none'; document.getElementById('_123_207_Closed_Image').style.display='inline'; document.getElementById('_123_207_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="_123_207_Closed_Image" style="display: none;" onclick="this.style.display='none'; document.getElementById('_123_207_Closed_Text').style.display='none'; document.getElementById('_123_207_Open_Image').style.display='inline'; document.getElementById('_123_207_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" /></span></span><span style="font-size: 10pt;"><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">class</span><span style="color: #000000;"> Item </span><span id="_123_207_Closed_Text" style="border: 1px solid #808080; display: none; background-color: #ffffff;">...</span></span><span id="_123_207_Open_Text"><span style="font-size: 10pt;"><span style="color: #000000;">{<br /> <img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #0000ff;">private</span></span><span style="font-size: 10pt;"><span style="color: #000000;"> Long id;<br /> <img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #0000ff;">private</span></span><span style="font-size: 10pt;"><span style="color: #000000;"> String name;<br /> <img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #0000ff;">private</span><span style="color: #000000;"> Set categories </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span></span><span style="color: #000000;"><span style="font-size: 10pt;"> HashSet();<br /> <img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" />...<br /> <img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></span><span style="color: #000000;"><br /> <span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />    </span></span></div> </div> <p><span style="font-size: 10pt;">      映射文g中还可以不用set而用bagQ只要把set出现的地Ҏ成bagpQ这L应的category.java和Item.java</span></p> <p><span style="font-size: 10pt;">文g当中可以用List?/span></p> <img src ="http://www.aygfsteel.com/1504/aggbug/256083.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/1504/" target="_blank">O(∩_?O鱼阳~</a> 2009-02-22 19:17 <a href="http://www.aygfsteel.com/1504/archive/2009/02/22/256083.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>struts+hibernate+spring+dwr的一个小的DEMO【收藏?/title><link>http://www.aygfsteel.com/1504/archive/2008/08/03/219702.html</link><dc:creator>O(∩_?O鱼阳~</dc:creator><author>O(∩_?O鱼阳~</author><pubDate>Sun, 03 Aug 2008 07:31:00 GMT</pubDate><guid>http://www.aygfsteel.com/1504/archive/2008/08/03/219702.html</guid><wfw:comment>http://www.aygfsteel.com/1504/comments/219702.html</wfw:comment><comments>http://www.aygfsteel.com/1504/archive/2008/08/03/219702.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/1504/comments/commentRss/219702.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/1504/services/trackbacks/219702.html</trackback:ping><description><![CDATA[<p>最q无聊,做了一?span class="hilite1">DWR</span>的验证和<font face="Arial">eXtremeTable的应用的例子</font></p> <p>前期的系l创建、struts、hibernate、spring的集成工作就不用说了Q一路下?#8230;………</p> <p>主要?span class="hilite1">DWR</span>的应用,它用于表单验证:</p> <p>1、先看它的配|:</p> <p>Q?Q在web.xml里加上:</p> <div id="wmqeeuq" class="code_title">xml 代码</div> <div id="wmqeeuq" class="dp-highlighter"> <div id="wmqeeuq" class="bar"></div> <ol class="dp-xml"> <li id="wmqeeuq" class="alt">  <span id="wmqeeuq" class="tag"><<span id="wmqeeuq" class="tag-name">servlet</span><span id="wmqeeuq" class="tag">></span>  </span> </li> <li id="wmqeeuq" class="">   <span id="wmqeeuq" class="tag"><</span><span id="wmqeeuq" class="tag-name">servlet-name</span><span id="wmqeeuq" class="tag">></span><span id="wmqeeuq" class="hilite1">dwr-invoker</span><span id="wmqeeuq" class="tag"><span id="wmqeeuq" class="tag-name">servlet-name</span><span id="wmqeeuq" class="tag">></span>      </span> </li> <li id="wmqeeuq" class="alt">   <span id="wmqeeuq" class="tag"><</span><span id="wmqeeuq" class="tag-name">servlet-class</span><span id="wmqeeuq" class="tag">></span>uk.ltd.getahead.<span id="wmqeeuq" class="hilite1">dwr.<span id="wmqeeuq" class="hilite1">DWR</span>Servlet</span><span id="wmqeeuq" class="tag"><span id="wmqeeuq" class="tag-name">servlet-class</span><span id="wmqeeuq" class="tag">></span>   </span> </li> <li id="wmqeeuq" class="">     <span id="wmqeeuq" class="tag"><</span><span id="wmqeeuq" class="tag-name">init-param</span><span id="wmqeeuq" class="tag">></span>   </li> <li id="wmqeeuq" class="alt">     <span id="wmqeeuq" class="tag"><</span><span id="wmqeeuq" class="tag-name">param-name</span><span id="wmqeeuq" class="tag">></span>debug<span id="wmqeeuq" class="tag"><span id="wmqeeuq" class="tag-name">param-name</span><span id="wmqeeuq" class="tag">></span>   </span> </li> <li id="wmqeeuq" class="">     <span id="wmqeeuq" class="tag"><</span><span id="wmqeeuq" class="tag-name">param-value</span><span id="wmqeeuq" class="tag">></span>true<span id="wmqeeuq" class="tag"><span id="wmqeeuq" class="tag-name">param-value</span><span id="wmqeeuq" class="tag">></span>   </span> </li> <li id="wmqeeuq" class="alt">   <span id="wmqeeuq" class="tag"><span id="wmqeeuq" class="tag-name">init-param</span><span id="wmqeeuq" class="tag">></span>   </span> </li> <li id="wmqeeuq" class="">    <span id="wmqeeuq" class="tag"><</span><span id="wmqeeuq" class="tag-name">load-on-startup</span><span id="wmqeeuq" class="tag">></span>1<span id="wmqeeuq" class="tag"><span id="wmqeeuq" class="tag-name">load-on-startup</span><span id="wmqeeuq" class="tag">></span>     </span> </li> <li id="wmqeeuq" class="alt"> <span id="wmqeeuq" class="tag"><span id="wmqeeuq" class="tag-name">servlet</span><span id="wmqeeuq" class="tag">></span>      </span> </li> <li id="wmqeeuq" class="">     </li> <li id="wmqeeuq" class="alt">   <span id="wmqeeuq" class="tag"><</span><span id="wmqeeuq" class="tag-name">servlet-mapping</span><span id="wmqeeuq" class="tag">></span>   </li> <li id="wmqeeuq" class="">  <span id="wmqeeuq" class="tag"><</span><span id="wmqeeuq" class="tag-name">servlet-name</span><span id="wmqeeuq" class="tag">></span><span id="wmqeeuq" class="hilite1">dwr-invoker</span><span id="wmqeeuq" class="tag"><span id="wmqeeuq" class="tag-name">servlet-name</span><span id="wmqeeuq" class="tag">></span>   </span> </li> <li id="wmqeeuq" class="alt">  <span id="wmqeeuq" class="tag"><</span><span id="wmqeeuq" class="tag-name">url-pattern</span><span id="wmqeeuq" class="tag">></span>/<span id="wmqeeuq" class="hilite1">dwr/*</span><span id="wmqeeuq" class="tag"><span id="wmqeeuq" class="tag-name">url-pattern</span><span id="wmqeeuq" class="tag">></span>   </span> </li> <li id="wmqeeuq" class=""><span id="wmqeeuq" class="tag"><span id="wmqeeuq" class="tag-name">servlet-mapping</span><span id="wmqeeuq" class="tag">></span>   </span> </li> <li id="wmqeeuq" class="alt">    </li> </ol> </div> <p> </p> <p>Q?Q再Z个类Q用于获取验证输Z息的属性文Ӟq个文g是参考了良葛??strong><font color="#ff0000"><span id="wmqeeuq" class="hilite1">DWR</span> 入門與應用(一Q?/font></strong></p> <p>里的Book代码</p> <p>java 代码</p> <div id="wmqeeuq" class="dp-highlighter"> <div id="wmqeeuq" class="bar"></div> <ol class="dp-j"> <li id="wmqeeuq" class="alt"><span id="wmqeeuq" class="keyword">package test.common;   </span> </li> <li id="wmqeeuq" class="">   </li> <li id="wmqeeuq" class="alt"><span id="wmqeeuq" class="keyword">import</span> java.util.ResourceBundle;    </li> <li id="wmqeeuq" class="">   </li> <li id="wmqeeuq" class="alt"><span id="wmqeeuq" class="keyword">public</span> <span id="wmqeeuq" class="keyword">class</span> GetProperties{    </li> <li id="wmqeeuq" class="">    <span id="wmqeeuq" class="keyword">private</span> ResourceBundle resource;    </li> <li id="wmqeeuq" class="alt">        </li> <li id="wmqeeuq" class="">    <span id="wmqeeuq" class="keyword">public</span> GetProperties()    </li> <li id="wmqeeuq" class="alt">    {    </li> <li id="wmqeeuq" class="">            </li> <li id="wmqeeuq" class="alt">                              resource = ResourceBundle.getBundle(<span id="wmqeeuq" class="string">"<span id="wmqeeuq" class="hilite1">dwr</span>Pro"</span>);    </li> <li id="wmqeeuq" class="">     }    </li> <li id="wmqeeuq" class="alt">                </li> <li id="wmqeeuq" class="">    <span id="wmqeeuq" class="keyword">public</span> String getDescription(String key)     </li> <li id="wmqeeuq" class="alt">    {    </li> <li id="wmqeeuq" class="">       <span id="wmqeeuq" class="keyword">return</span> resource.getString(key);    </li> <li id="wmqeeuq" class="alt">    }    </li> <li id="wmqeeuq" class="">   </li> <li id="wmqeeuq" class="alt">}   </li> </ol> </div> <p>Q?Q编写属性文?span class="hilite1">dwr</span>Pro_zh_CN.propertieQ中文)?span class="hilite1">dwr</span>_en.propertiesQ英文)</p> <div id="wmqeeuq" class="code_title">java 代码</div> <div id="wmqeeuq" class="dp-highlighter"> <ol class="dp-j"> <li id="wmqeeuq" class="alt">username_hasUsed = 用户名已用,请选择别的用户?   </li> <li id="wmqeeuq" class="">username_canUse  = 恭喜Q用户名可以使用    </li> <li id="wmqeeuq" class="alt">   </li> <li id="wmqeeuq" class="">username_hasUsed =username has used!    </li> <li id="wmqeeuq" class="alt">username_canUse  = username can use!   </li> </ol> </div> <p> </p> <p>Q?Q配|?span class="hilite1">dwr</span>.xmlQ里面用了spring的bean 和javac?/p> <div id="wmqeeuq" class="code_title">xml 代码</div> <div id="wmqeeuq" class="dp-highlighter"> <div id="wmqeeuq" class="bar"></div> <ol class="dp-xml"> <li id="wmqeeuq" class="alt"><span id="wmqeeuq" class="tag"><<span id="wmqeeuq" class="tag-name"><span id="wmqeeuq" class="hilite1">dwr</span></span><span id="wmqeeuq" class="tag">></span>  </span> </li> <li id="wmqeeuq" class="">   </li> <li id="wmqeeuq" class="alt">  <span id="wmqeeuq" class="tag"><</span><span id="wmqeeuq" class="tag-name">allow</span><span id="wmqeeuq" class="tag">></span>   </li> <li id="wmqeeuq" class="">     <span id="wmqeeuq" class="tag"><</span><span id="wmqeeuq" class="tag-name">create</span> <span id="wmqeeuq" class="attribute">creator</span>=<span id="wmqeeuq" class="attribute-value">"spring"</span> <span id="wmqeeuq" class="attribute">javascript</span>=<span id="wmqeeuq" class="attribute-value">"userManager"</span><span id="wmqeeuq" class="tag">></span>   </li> <li id="wmqeeuq" class="alt">        <span id="wmqeeuq" class="tag"><</span><span id="wmqeeuq" class="tag-name">param</span> <span id="wmqeeuq" class="attribute">name</span>=<span id="wmqeeuq" class="attribute-value">"beanName"</span> <span id="wmqeeuq" class="attribute">value</span>=<span id="wmqeeuq" class="attribute-value">"userManager"</span><span id="wmqeeuq" class="tag">/></span>   </li> <li id="wmqeeuq" class="">       <span id="wmqeeuq" class="tag"><</span><span id="wmqeeuq" class="tag-name">include</span> <span id="wmqeeuq" class="attribute">method</span>=<span id="wmqeeuq" class="attribute-value">"findUserIsExist"</span><span id="wmqeeuq" class="tag">/></span>   </li> <li id="wmqeeuq" class="alt">    <span id="wmqeeuq" class="tag"><span id="wmqeeuq" class="tag-name">create</span><span id="wmqeeuq" class="tag">></span>   </span> </li> <li id="wmqeeuq" class="">        </li> <li id="wmqeeuq" class="alt">  <span id="wmqeeuq" class="tag"><</span><span id="wmqeeuq" class="tag-name">create</span> <span id="wmqeeuq" class="attribute">creator</span>=<span id="wmqeeuq" class="attribute-value">"new"</span> <span id="wmqeeuq" class="attribute">javascript</span>=<span id="wmqeeuq" class="attribute-value">"User"</span> <span id="wmqeeuq" class="attribute">scope</span>=<span id="wmqeeuq" class="attribute-value">"application"</span><span id="wmqeeuq" class="tag">></span>   </li> <li id="wmqeeuq" class="">            <span id="wmqeeuq" class="tag"><</span><span id="wmqeeuq" class="tag-name">param</span> <span id="wmqeeuq" class="attribute">name</span>=<span id="wmqeeuq" class="attribute-value">"class"</span> <span id="wmqeeuq" class="attribute">value</span>=<span id="wmqeeuq" class="attribute-value">"test.common.GetProperties"</span><span id="wmqeeuq" class="tag">/></span>   </li> <li id="wmqeeuq" class="alt">        <span id="wmqeeuq" class="tag"><span id="wmqeeuq" class="tag-name">create</span><span id="wmqeeuq" class="tag">></span>          </span> </li> <li id="wmqeeuq" class="">  <span id="wmqeeuq" class="tag"><span id="wmqeeuq" class="tag-name">allow</span><span id="wmqeeuq" class="tag">></span>   </span> </li> <li id="wmqeeuq" class="alt"><span id="wmqeeuq" class="tag"><span id="wmqeeuq" class="tag-name"><span id="wmqeeuq" class="hilite1">dwr</span></span><span id="wmqeeuq" class="tag">></span>   </span></li> </ol> </div> <p>spring beanName  的value =“userManager”从applicationContext.xml里取?/p> <div id="wmqeeuq" class="code_title">xml 代码</div> <div id="wmqeeuq" class="dp-highlighter"> <div id="wmqeeuq" class="bar"></div> <ol class="dp-xml"> <li id="wmqeeuq" class="alt"><span id="wmqeeuq" class="tag"><<span id="wmqeeuq" class="tag-name">bean</span> <span id="wmqeeuq" class="attribute">id</span>=<span id="wmqeeuq" class="attribute-value">"userManagerTarget"</span> <span id="wmqeeuq" class="attribute">class</span>=<span id="wmqeeuq" class="attribute-value">"test.spring.serviceImpl.UserServiceImpl"</span><span id="wmqeeuq" class="tag">></span>  </span> </li> <li id="wmqeeuq" class=""><span id="wmqeeuq" class="tag"><</span><span id="wmqeeuq" class="tag-name">property</span> <span id="wmqeeuq" class="attribute">name</span>=<span id="wmqeeuq" class="attribute-value">"userDao"</span><span id="wmqeeuq" class="tag">></span>   </li> <li id="wmqeeuq" class="alt">  <span id="wmqeeuq" class="tag"><</span><span id="wmqeeuq" class="tag-name">ref</span> <span id="wmqeeuq" class="attribute">bean</span>=<span id="wmqeeuq" class="attribute-value">"userDao"</span><span id="wmqeeuq" class="tag">/></span>   </li> <li id="wmqeeuq" class=""><span id="wmqeeuq" class="tag"><span id="wmqeeuq" class="tag-name">property</span><span id="wmqeeuq" class="tag">></span>   </span> </li> <li id="wmqeeuq" class="alt"><span id="wmqeeuq" class="tag"><span id="wmqeeuq" class="tag-name">bean</span><span id="wmqeeuq" class="tag">></span>   </span> </li> <li id="wmqeeuq" class="">        </li> <li id="wmqeeuq" class="alt">        </li> <li id="wmqeeuq" class=""> <span id="wmqeeuq" class="tag"><</span><span id="wmqeeuq" class="tag-name">bean</span> <span id="wmqeeuq" class="attribute">id</span>=<span id="wmqeeuq" class="attribute-value">"userManager"</span> <span id="wmqeeuq" class="attribute">class</span>=<span id="wmqeeuq" class="attribute-value">"org.springframework.aop.framework.ProxyFactoryBean"</span><span id="wmqeeuq" class="tag">></span>   </li> <li id="wmqeeuq" class="alt">    <span id="wmqeeuq" class="tag"><</span><span id="wmqeeuq" class="tag-name">property</span> <span id="wmqeeuq" class="attribute">name</span>=<span id="wmqeeuq" class="attribute-value">"proxyInterfaces"</span><span id="wmqeeuq" class="tag">></span>   </li> <li id="wmqeeuq" class="">    <span id="wmqeeuq" class="tag"><</span><span id="wmqeeuq" class="tag-name">value</span><span id="wmqeeuq" class="tag">></span>test.spring.service.IUserService<span id="wmqeeuq" class="tag"><span id="wmqeeuq" class="tag-name">value</span><span id="wmqeeuq" class="tag">></span>   </span> </li> <li id="wmqeeuq" class="alt">    <span id="wmqeeuq" class="tag"><span id="wmqeeuq" class="tag-name">property</span><span id="wmqeeuq" class="tag">></span>   </span> </li> <li id="wmqeeuq" class="">    <span id="wmqeeuq" class="tag"><</span><span id="wmqeeuq" class="tag-name">property</span> <span id="wmqeeuq" class="attribute">name</span>=<span id="wmqeeuq" class="attribute-value">"interceptorNames"</span><span id="wmqeeuq" class="tag">></span>   </li> <li id="wmqeeuq" class="alt">       <span id="wmqeeuq" class="tag"><</span><span id="wmqeeuq" class="tag-name">list</span><span id="wmqeeuq" class="tag">></span>     </li> <li id="wmqeeuq" class="">        <span id="wmqeeuq" class="tag"><</span><span id="wmqeeuq" class="tag-name">idref</span> <span id="wmqeeuq" class="attribute">bean</span>=<span id="wmqeeuq" class="attribute-value">"transactionInterceptor"</span><span id="wmqeeuq" class="tag">/></span>     </li> <li id="wmqeeuq" class="alt">          <span id="wmqeeuq" class="tag"><</span><span id="wmqeeuq" class="tag-name">idref</span> <span id="wmqeeuq" class="attribute">bean</span>=<span id="wmqeeuq" class="attribute-value">"userManagerTarget"</span><span id="wmqeeuq" class="tag">/></span>   </li> <li id="wmqeeuq" class="">       <span id="wmqeeuq" class="tag"><span id="wmqeeuq" class="tag-name">list</span><span id="wmqeeuq" class="tag">></span>   </span> </li> <li id="wmqeeuq" class="alt">    <span id="wmqeeuq" class="tag"><span id="wmqeeuq" class="tag-name">property</span><span id="wmqeeuq" class="tag">></span>        </span> </li> <li id="wmqeeuq" class=""> <span id="wmqeeuq" class="tag"><span id="wmqeeuq" class="tag-name">bean</span><span id="wmqeeuq" class="tag">></span>    </span></li> </ol> </div> <p>q里应该大家都懂Q就不罗嗦了</p> <p> </p> <p>Q?Q配好了q些Q就可以在页面里用了</p> <div id="wmqeeuq" class="code_title">java 代码</div> <div id="wmqeeuq" class="dp-highlighter"> <div id="wmqeeuq" class="bar"></div> <ol class="dp-j"> <li id="wmqeeuq" class="alt"><!--page language=<span id="wmqeeuq" class="string">"java" pageEncoding=<span id="wmqeeuq" class="string">"UTF-8"</span><span-->  </span></span> </li> <li id="wmqeeuq" class="">   </li> <li id="wmqeeuq" class="alt">   </li> <li id="wmqeeuq" class=""><!--ctype html public </sp--><span id="wmqeeuq" class="string">"-//W3C//DTD HTML 4.01 Transitional//EN">    </span> </li> <li id="wmqeeuq" class="alt">   </li> <li id="wmqeeuq" class="">      </li> <li id="wmqeeuq" class="alt">        </li> <li id="wmqeeuq" class="">        </li> <li id="wmqeeuq" class="alt">        </li> <li id="wmqeeuq" class="">        </li> <li id="wmqeeuq" class="alt">          </li> <li id="wmqeeuq" class="">     <script type='text javascript?  src="dwr/</span"><span id="wmqeeuq" class="keyword">interface/userManager.js'>    <li id="wmqeeuq" class="alt">     <script type='text javascript?  src="dwr/engine.js">    <li id="wmqeeuq" class="alt">     <script type='text javascript?  src="dwr/</span"><span id="wmqeeuq" class="keyword">interface/GetProperties.js'>    <li id="wmqeeuq" class="">        <li id="wmqeeuq" class="alt"><span>     <script type='text javascript?> <li id="wmqeeuq" class="alt">    }    <li id="wmqeeuq" class="">        <li id="wmqeeuq" class="alt">        <li id="wmqeeuq" class="">        <li id="wmqeeuq" class="alt">        <li id="wmqeeuq" class="">      <li id="wmqeeuq" class="alt">      <li id="wmqeeuq" class="">      <li id="wmqeeuq" class="alt">        <li id="wmqeeuq" class="">      <span id="wmqeeuq" class="string">"0">    </span> <li id="wmqeeuq" class="alt">         <tr> </tr>    <li id="wmqeeuq" class="">           <td> </td> Login:    <li id="wmqeeuq" class="alt">           <td> </td> <span id="wmqeeuq" class="string">"text" name=<span id="wmqeeuq" class="string">"user.name"</span> id=<span id="wmqeeuq" class="string">"username"</span> onblur=<span id="wmqeeuq" class="string">"checkName()"</span>/><span id="wmqeeuq" class="string">"check_username">   </span> </span> <li id="wmqeeuq" class="">            <li id="wmqeeuq" class="alt">         <tr> </tr>    <li id="wmqeeuq" class="">           <td> </td> Password:    <li id="wmqeeuq" class="alt">           <td> </td> <span id="wmqeeuq" class="string">"password" name=<span id="wmqeeuq" class="string">"user.password"</span> id=<span id="wmqeeuq" class="string">"username"</span> onblur=<span id="wmqeeuq" class="string">"checkpassword()"</span>/><span id="wmqeeuq" class="string">"check_password">   </span> </span> <li id="wmqeeuq" class="">            <li id="wmqeeuq" class="alt">         <tr> </tr>    <li id="wmqeeuq" class="">          <span id="wmqeeuq" class="string">"2" align=<span id="wmqeeuq" class="string">"center"</span>>    </span> <li id="wmqeeuq" class="alt">            <li id="wmqeeuq" class="">          <li id="wmqeeuq" class="alt">     <li id="wmqeeuq" class="">      <li id="wmqeeuq" class="alt"></li> </ol> </div> <p> </p> <p>q里当填了Login框,当光标从输入框移开时就实行?/p> <div id="wmqeeuq" class="code_title">js 代码</div> <div id="wmqeeuq" class="dp-highlighter"> <div id="wmqeeuq" class="bar"></div> <ol class="dp-c"> <li id="wmqeeuq" class="alt"><span id="wmqeeuq" class="keyword">function checkName()   </span> <li id="wmqeeuq" class="">    {    <li id="wmqeeuq" class="alt">        <span id="wmqeeuq" class="keyword">var</span> username = document.userForm.username.value;    <li id="wmqeeuq" class="">        userManager.findUserIsExist(username,callback);    <li id="wmqeeuq" class="alt">    }   </li> </ol> </div> <p> </p> <p><font face="Arial">userManager.findUserIsExist(username,callback)时关键,q里q?/font></p> <p><font face="Arial">  <script src="dwr/interface/userManager.js" type="text/javascript"></script> <p> </p> <p>d<span id="wmqeeuq" class="hilite1">dwr</span>.xml?font face="Arial">userManagerQ然后读取applicationContext.xml?font face="Arial">userManager  bean Q进而实?font face="Arial">findUserIsExistҎ?/font></font></font></p> <p> </p> </span></li> </ol> </div> <img src ="http://www.aygfsteel.com/1504/aggbug/219702.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/1504/" target="_blank">O(∩_?O鱼阳~</a> 2008-08-03 15:31 <a href="http://www.aygfsteel.com/1504/archive/2008/08/03/219702.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hibernate3.0中实现模p查询【{ȝ?http://www.aygfsteel.com/1504/archive/2008/06/20/209312.htmlO(∩_?O鱼阳~O(∩_?O鱼阳~Fri, 20 Jun 2008 00:43:00 GMThttp://www.aygfsteel.com/1504/archive/2008/06/20/209312.htmlhttp://www.aygfsteel.com/1504/comments/209312.htmlhttp://www.aygfsteel.com/1504/archive/2008/06/20/209312.html#Feedback0http://www.aygfsteel.com/1504/comments/commentRss/209312.htmlhttp://www.aygfsteel.com/1504/services/trackbacks/209312.htmlHibernate3.0q行模糊查询的时候,出现中文qQ在|上查了好久资料Q终于解决了Q现在把整理后的贴出来?br /> Hibernate中实现模p查询,可有以下三种方式Q?

W一U方式:QBC查询
String name = "", info = "";
if (sub != null && sub.getSubname() != null) {
name = sub.getSubname();
}
if (sub != null && sub.getSubinfo() != null) {
info = sub.getSubinfo();
}
Criteria cr = session.createCriteria(Subject.class);
cr.add(Expression.like("subname","%"+name+"%"));
cr.add(Expression.like("subinfo","%"+info+"%"));

W二U方式:HQL查询语句
String hql = "from Subject as s where s.subname like :name and s.subinfo like :info";
// 调用session的获得数据列表方法,传递HQL查询语句
String  subnamevalue="要查询的中文?;
String   sql="";
sql   = "from Pfapp  where name like :subname ";

Query query = session.createQuery(sql); 
query.setString("subname","%"+subnamevalue+"%");
System.out.println("*********"+sql);

注:Subject为数据库表subject映射的类Q它有相应的属性subname、subinfo及相应的get和setҎQsub为Subject的一个实例化对象?br /> 另外说明的是Q如果你不写对象名称Q直接写字段Q那么hibernate按照数据库字段q行查找
如果你写   (对象?对象属性)Q那么hibernate按照ormapping中的映射字段q行查找
q是hibernate的灵zM处!Q?

O(∩_?O鱼阳~ 2008-06-20 08:43 发表评论
]]>
Hibernate实现one-to-oneU联保存[自己ȝ] http://www.aygfsteel.com/1504/archive/2008/06/18/208942.htmlO(∩_?O鱼阳~O(∩_?O鱼阳~Wed, 18 Jun 2008 09:41:00 GMThttp://www.aygfsteel.com/1504/archive/2008/06/18/208942.htmlhttp://www.aygfsteel.com/1504/comments/208942.htmlhttp://www.aygfsteel.com/1504/archive/2008/06/18/208942.html#Feedback1http://www.aygfsteel.com/1504/comments/commentRss/208942.htmlhttp://www.aygfsteel.com/1504/services/trackbacks/208942.html在具体的目应用?我们很少会用C对一的联操?且很多时候一对一的操作可以通过多对一实现,但是一对一有自q好处,是在Q何时候都能保证主外键数据的一致?但是多对一的情况下未必能做?
我在目中具体用C一对一的联操?从网上拿?一个例子来?但是没有成功,于是只好自己研究,现在把修改后的代码帖出来.
本例子?font size="3">hibernate3.jar+oracle数据?br /> 库表:
CARD_TEST(CARDID[NUMBER(18)],CARDNUM[VARCHAR2(20)])
USER_TEST(USERID[NUMBER(18)],USERNAME[VARCHAR2(20)])
TestMain.java

package com.gpdi.test;
import org.hibernate.Session;
import org.hibernate.Transaction;
public class TestMain {
/**
 * 存储一个用?br />  * @param user
 */
public void save(User user){
 user.setUsername("TEST");
 Card card=new Card();
 //Card card1=new Card();
 card.setCardnum("HGJUYT");
 //card1.setCardnum("fghy55");
 user.setCard(card);
 //user.setCard(card1);
 Session session=HibernateSessionFactory.currentSession();
    card.setUser(user);
    //card1.setUser(user);
 Transaction tr=session.beginTransaction();
 session.save(user);
 //session.save(card);
 tr.commit();
 session.close(); 
}

 public static void main(String[] args) throws Exception {
  TestMain test=new TestMain();
     test.save(new User());
 }

}
Card.java

package com.gpdi.test;

/**
 * Card generated by MyEclipse - Hibernate Tools
 */

public class Card  implements java.io.Serializable {
    // Fields   

     private Integer cardid;
     private String cardnum;
     private User user;

    // Constructors

    public User getUser() {
  return user;
 }
 public void setUser(User user) {
  this.user = user;
 }
 /** default constructor */
    public Card() {
    }
    /** full constructor */
    public Card(String cardnum) {
        this.cardnum = cardnum;
    }
    // Property accessors

    public Integer getCardid() {
        return this.cardid;
    }
   
    public void setCardid(Integer cardid) {
        this.cardid = cardid;
    }

    public String getCardnum() {
        return this.cardnum;
    }
   
    public void setCardnum(String cardnum) {
        this.cardnum = cardnum;
    }

}

User.java
package com.gpdi.test;

import java.util.HashSet;
import java.util.Set;

/**
 * User generated by MyEclipse - Hibernate Tools
 */

public class User  implements java.io.Serializable {
    // Fields   

     private Integer userid;
     private String username;
     private Card card;
     //private Set card = new HashSet();

    // Constructors

    public Card getCard() {
  return card;
 }

 public void setCard(Card card) {
  this.card = card;
 }

 /** default constructor */
    public User() {
    }

    /** full constructor */
    public User(String username) {
        this.username = username;
    }

    // Property accessors

    public Integer getUserid() {
        return this.userid;
    }
   
    public void setUserid(Integer userid) {
        this.userid = userid;
    }

    public String getUsername() {
        return this.username;
    }
   
    public void setUsername(String username) {
        this.username = username;
    }
}
HibernateSessionFactory.java

package com.gpdi.test;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;

/**
 * Configures and provides access to Hibernate sessions, tied to the
 * current thread of execution.  Follows the Thread Local Session
 * pattern, see {@link http://hibernate.org/42.html}.
 */
public class HibernateSessionFactory {

    /**
     * Location of hibernate.cfg.xml file.
     * NOTICE: Location should be on the classpath as Hibernate uses
     * #resourceAsStream style lookup for its configuration file. That
     * is place the config file in a Java package - the default location
     * is the default Java package.<br><br>
     * Examples: <br>
     * <code>CONFIG_FILE_LOCATION = "/hibernate.conf.xml".
     * CONFIG_FILE_LOCATION = "/com/foo/bar/myhiberstuff.conf.xml".</code>
     */
    private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml";

    /** Holds a single instance of Session */
 private static final ThreadLocal threadLocal = new ThreadLocal();

    /** The single instance of hibernate configuration */
    private static final Configuration cfg = new Configuration();

    /** The single instance of hibernate SessionFactory */
    private static org.hibernate.SessionFactory sessionFactory;

    /**
     * Returns the ThreadLocal Session instance.  Lazy initialize
     * the <code>SessionFactory</code> if needed.
     *
     *  @return Session
     *  @throws HibernateException
     */
    public static Session currentSession() throws HibernateException {
        Session session = (Session) threadLocal.get();

  if (session == null || !session.isOpen()) {
   if (sessionFactory == null) {
    try {
     cfg.configure(CONFIG_FILE_LOCATION);
     sessionFactory = cfg.buildSessionFactory();
    } catch (Exception e) {
     System.err
       .println("%%%% Error Creating SessionFactory %%%%");
     e.printStackTrace();
    }
   }
   session = (sessionFactory != null) ? sessionFactory.openSession()
     : null;
   threadLocal.set(session);
  }

        return session;
    }

    /**
     *  Close the single hibernate session instance.
     *
     *  @throws HibernateException
     */
    public static void closeSession() throws HibernateException {
        Session session = (Session) threadLocal.get();
        threadLocal.set(null);

        if (session != null) {
            session.close();
        }
    }

    /**
     * Default constructor.
     */
    private HibernateSessionFactory() {
    }

}
Card.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
    Mapping file autogenerated by MyEclipse - Hibernate Tools
-->
<hibernate-mapping>
    <class name="com.gpdi.test.Card" table="CARD_TEST">
 
        <id name="cardid" type="integer">
            <column name="CARDID" />
            <generator class="foreign" >
            <param name="property">user</param>
            </generator>
        </id>
        <property name="cardnum" type="string">
            <column name="CARDNUM" length="45" not-null="true" />
        </property>
        <!--
        foreign-key="userid"指定外键兌的字D?必须,不可~少 ,cascade="save-update"指定怎么操作U联,非必?br />         -->
       <one-to-one name="user" foreign-key="userid" class="com.gpdi.test.User" cascade="save-update"></one-to-one>
    </class>
</hibernate-mapping>

User.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
    Mapping file autogenerated by MyEclipse - Hibernate Tools
-->
<hibernate-mapping>
    <class name="com.gpdi.test.User" table="USER_TEST">
        <id name="userid" type="integer">
            <column name="USERID" />
            <generator class="increment"/>
        </id>
        <property name="username" type="string">
            <column name="username" length="45" not-null="true" />
        </property>
        <one-to-one name="card" foreign-key="cardid" class="com.gpdi.test.Card" cascade="save-update"></one-to-one>
        <!--
       <set name="card" inverse="true" cascade="all">
        <key column="cardid" />
        <one-to-many class="com.gpdi.test.Card" />
        </set>
         <many-to-one  name="card" class="com.gpdi.test.Card"  insert="true" unique="true" lazy="false">
         <column name="cardid"  length="18"  />
        </many-to-one>
        -->
 
    </class>
</hibernate-mapping>
Hibernate实现一对一实例源码


O(∩_?O鱼阳~ 2008-06-18 17:41 发表评论
]]>
վ֩ģ壺 | | | ˶| ɽ| | | ˳| IJ| | ޭ| | | ϲ| ͭɽ| ƽ| | ̩| | Т| ʱ| | | | | | | | ˮ| ʤ| | Т| | ʲ| SHOW| | | Ž| ʡ| Ϻ| |