1. 程式人生 > >簡易hibernate搭建,純java專案

簡易hibernate搭建,純java專案

一 ..建java專案

工具 eclipse

file->new ->Java Project

二.匯入jar包

剛開始只匯入幾個相關的jar包 後來真正執行時老出錯 說少類 所以我就將很多jar包都導進去了 各位如果能甄選出來哪些是不需要的 下面評論提示下

下載 jar包(一)http://download.csdn.net/detail/a1059484278/9779055  下載jar包(二)http://download.csdn.net/detail/a1059484278/9779060

三.開始配置檔案 寫程式碼了

1.建javaBean

package com.example.hibernate;


import java.sql.Date;


public class Customer{


private String uuId; //注意 型別 為String 唯一主鍵
private String customerName;
private Integer age;
private java.sql.Date updateTime;


public String getUuId() {
return uuId;
}
public void setUuId(String uuId) {
this.uuId = uuId;
}


public java.sql.Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public void setAge(Integer age) {
this.age = age;
}
public Integer getAge() {
return age;
}
public String getCustomerName() {
return customerName;
}
public void setCustomerName(String customerName) {
this.customerName = customerName;
}

}

2.建立javaBean.Customer的對映檔案 Customer.hbm.xml

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-mapping PUBLIC
 "-//Hibernate/Hibernate Mapping DTD//EN"
 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping>  
    <class name="javaBean.Customer" table="customer">  

   <id name="uuId" column="uu_id">  
            <generator class="uuid" />  
            </id>
        <property name="customerName" column="customer_name"/>  
        <property name="age" column="age"/>  
        <property name="updateTime" column="update_time"/>  
    </class>  
</hibernate-mapping> 

3.建立 hibernate.cfg.xml

可複製如下程式碼

<?xml version='1.0' encoding='utf-8'?> 
<!DOCTYPE hibernate-configuration PUBLIC 
"-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>  
    <session-factory>  
        <!-- mysql資料庫驅動 -->  
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>  
        <!-- mysql資料庫名稱 -->  
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate_test?useUnicode=true&amp;characterEncoding=UTF-8</property>  <!-- 寫後面的主要是為了傳漢字引數時不亂碼 -->
        <!-- 資料庫的登陸使用者名稱 -->  
        <property name="hibernate.connection.username">root</property>  
        <!-- 資料庫的登陸密碼 -->  
        <property name="hibernate.connection.password"></property>  
        <!-- 方言:為每一種資料庫提供介面卡,方便轉換 -->  
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>  
          
        <mapping resource="javaBean/Customer.hbm.xml"></mapping><!-- 配置POJO對映檔案 -->
    </session-factory>  
</hibernate-configuration>  

4.建表  在資料庫中建立此表 編寫測試類 HibernateTest

package javaBean;


import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;


public class HibernateTest {


public static void main(String[] args) {
// TODO Auto-generated method stub
Configuration cf=new Configuration().configure();//此處 如果配置檔案有問題 會出錯
SchemaExport e=new SchemaExport(cf);
e.create(true, true);

}
}

//如果列印 drop table if exists customer_test
create table customer_test (uu_id varchar(255) not null, customer_name varchar(255), age integer, update_time date, primary key (uu_id)) 則 成功!!

5.新增表資料  還是在測試類裡寫

package javaBean;


import java.sql.Date;


import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;


public class HibernateTest {


public static void main(String[] args) {
// TODO Auto-generated method stub
//Configuration cf=new Configuration().configure();
//SchemaExport e=new SchemaExport(cf);
//e.create(true, true);
Configuration cf=new Configuration().configure();
SessionFactory sf=cf.buildSessionFactory();
Session session=null;
session=sf.openSession();
session.beginTransaction();
session.getTransaction().commit();
try{  
            session = sf.openSession();  
            //開啟事務  
            session.beginTransaction();  
            Customer c=new Customer();//開始給物件set資料
            c.setAge(22);
            c.setCustomerName("李雲龍");
            c.setUpdateTime(new Date(System.currentTimeMillis()));
            session.save(c);  
            //提交事務  
            session.getTransaction().commit();  
        }catch(Exception e){  
            e.printStackTrace();  
            //回滾事務  
            session.getTransaction().rollback();  
        }finally{  
            if(session != null){  
                if(session.isOpen()){  
                    //關閉session  
                    session.close();  
                }  
            }  
        }  
}


}



新增成功!!!

這裡只是簡單介紹一下這個框架來建表  新增資料  各位如果要深入使用  請務必 要加以研究.

最後上一下這個專案的目錄圖