乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      JR - 精品文章 - hibernate3.0實例

       昵稱662 2005-11-01

      hibernate3.0實例
      建議是有一點點是一點點基礎的人又沒有hibernate基礎和經驗的人比較適合(所謂一點點基礎是最起碼不要我介紹一些配置文件的什么的.).注意我用的JDBC驅動com.inet.tds.TdsDriver
      要是感覺注釋太少,或者是在調試的過程中出現(xiàn)BUG或者是什么的,請回貼,我會答復你.
      大家一起努力學習吧.

      1、建立PO對象 
         建PO對象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./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./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已經建立完成,下面是一個測試類


      /*
       * 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,下面是一個hibernate的配置hibernate.cfg.xml(位于應用目錄下面)

      <!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate./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>

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

      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

        本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多