免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開(kāi)通VIP
JR - 精品文章 - hibernate3.0實(shí)例

hibernate3.0實(shí)例
建議是有一點(diǎn)點(diǎn)是一點(diǎn)點(diǎn)基礎(chǔ)的人又沒(méi)有hibernate基礎(chǔ)和經(jīng)驗(yàn)的人比較適合(所謂一點(diǎn)點(diǎn)基礎(chǔ)是最起碼不要我介紹一些配置文件的什么的.).注意我用的JDBC驅(qū)動(dòng)com.inet.tds.TdsDriver
要是感覺(jué)注釋太少,或者是在調(diào)試的過(guò)程中出現(xiàn)BUG或者是什么的,請(qǐng)回貼,我會(huì)答復(fù)你.
大家一起努力學(xué)習(xí)吧.

1、建立PO對(duì)象 
   建PO對(duì)象Customer、Order以及它們的hibernate配置文件

 /*
 * Created on 2005-10-12
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package testdemo;

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

/**
 * @author liuzj
 * 
 * TODO To change the template for this generated type comment go to Window -
 * Preferences - Java - Code Style - Code Templates
 */

public class Customer {
    private int id;

    private String username;

    private String password;

    private Set orders = new HashSet();

    public Customer() {
    }

    public Customer(String username, String password, Set orders) {
        this.username = username;
        this.password = password;

        this.orders = orders;

    }

    public int getId() {
        return id;
    }

    public String getPassword() {
        return password;
    }

    public String getUsername() {
        return username;
    }

    public Set getOrders() {
        return orders;
    }

    public void setId(int id) {
        this.id = id;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public void setOrders(Set orders) {
        this.orders = orders;
    }

}


<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
      "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
 <hibernate-mapping>
   <class name="testdemo.Customer" table="CUSTOMER" dynamic-insert="true" dynamic-update="true">
   <id name="id" column="ID">
     <generator class="increment" />
    </id>
   <property name="username" column="USERNAME" />
   <property name="password" column="PASSWORD" />
   
       <set 
        name="orders"
        inverse="true"
        cascade="save-update"  
    >
        <key column="CUSTOMER_ID" />
        <one-to-many class="testdemo.Order" />
   </set>   
   
  </class>
 </hibernate-mapping>


/*
 * Created on 2005-10-13
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package testdemo;

/**
 * @author liuzj
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */

import java.io.Serializable;
public class Order implements Serializable {

    private Long id;
    private String orderNumber;
    private double price;
    private Customer customer;

    public Order() {
    }
    public Order(String orderNumber,double price,Customer customer) {
      this.orderNumber=orderNumber;
      this.price=price;
      this.customer=customer;
    }
    public Long getId() {
        return this.id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getOrderNumber() {
        return this.orderNumber;
    }

    public void setOrderNumber(String orderNumber) {
        this.orderNumber = orderNumber;
    }

    public Customer getCustomer() {
        return this.customer;
    }

    public void setCustomer(Customer customer) {
        this.customer = customer;
    }

    public double getPrice(){
       return this.price;
    }
    private void setPrice( double price ){
       this.price = price;
    }
}



<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
      "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping  package="testdemo">

   <class name="Order"  table="ORDERS">
     
      <id name="id">
        <generator class="increment"/>
      </id>
   
      <property name="orderNumber" column="ORDER_NUMBER"/>
      <property name="price" />

     <many-to-one
        name="customer"
        column="CUSTOMER_ID"
        class="Customer"
        not-null="true" 
     />

   </class>
 </hibernate-mapping>


上面的PO已經(jīng)建立完成,下面是一個(gè)測(cè)試類


/*
 * Created on 2005-10-12
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package testdemo;

import java.util.HashSet;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

import testdemo.Customer;

/**
 * @author liuzj
 * 
 * TODO To change the template for this generated type comment go to Window -
 * Preferences - Java - Code Style - Code Templates
 */

public class Test {

    SessionFactory sessionFactory = new Configuration().configure().addClass(
            testdemo.Customer.class).addClass(Order.class).buildSessionFactory();
    Session session = sessionFactory.openSession();
    public void saveCustomer(Customer customer) throws Exception {
        
        Transaction tx = null;
        try {
            tx = session.beginTransaction();
            session.save(customer);
            
            tx.commit();

        } catch (Exception e) {
            if (tx != null) {
                tx.rollback();
            }
            throw e;
        } finally {
            session.close();
        }
    }
    
    
    public void testmethod()throws Exception
    {
      Customer customer=new Customer("lzhengj","001",new HashSet());
      Order order1=new Order("Order",1000,customer);
      Order order2=new Order("Order",2000,customer);
      customer.getOrders().add(order1);
      customer.getOrders().add(order2);
      this.saveCustomer(customer);

    }

    public static void main(String[] args) {
        
        try{
         new Test().testmethod();
            
        }catch(Exception e)
        {
        System.out.println("this is the testmethod  throw exception.....");
         e.printStackTrace();    
        }

    }
}


ok,下面是一個(gè)hibernate的配置hibernate.cfg.xml(位于應(yīng)用目錄下面)

<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
          <property name="hibernate.connection.url">
          jdbc:inetdae:localhost:1433?charset=gbk&database=hibernate_test
          </property>
          <property name="hibernate.connection.driver_class">
            com.inet.tds.TdsDriver
          </property>
          <property name="hibernate.connection.username">
            sa
          </property>
          <property name="hibernate.connection.password">
       aa
          </property>
          <property name="hibernate.dialect">
          org.hibernate.dialect.SQLServerDialect
          </property>
          <property name="show_sql">
          true
          </property>
    </session-factory>
</hibernate-configuration>

另外還需要配置一個(gè)LOG文件log4j.properties (位于應(yīng)用目錄下面)

log4j.rootLogger=DEBUG, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%c{1} - %m%n
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Eclipse快速上手Hibernate--5.組件映射
hibernate 初級(jí)應(yīng)用篇
Joan's javaworld - Struts2+Spring2.5+Hibernat...
C# Property機(jī)制
Hibernate的Discriminator應(yīng)用
使用spring-mock進(jìn)行dao集成測(cè)試
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服