簡易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&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();
}
}
}
}
}
新增成功!!!
這裡只是簡單介紹一下這個框架來建表 新增資料 各位如果要深入使用 請務必 要加以研究.
最後上一下這個專案的目錄圖