Hibernate正向工程創建數據表 對數據表進行增刪改查操做

步驟一 java

         首先在數據庫中創建一數據庫  Person sql

步驟二 數據庫

myEclipse 中創建一普通java工程 HibernateTest session

創建一lib文件夾 

拷貝須要的相應hibernate中的jar app


其中最後一個是 數據庫驅動包 ,而後從hibernate源文件那個解壓文件中的project 中的etc(配置文件)文件夾中 拷貝hiberna.cfg.xml ssh

  


hiberna.cfg.xml 拷貝到config中  打開以後 刪除<session-Factory name=」foo」中的全部內容> 首先來配置主要的 hiberna.cfg.xml   配置這個的時候咱們要參考 hibernate.properties sqlserver

由於我是用的sqlserver的因此選擇這個 測試


 

配置完後以下所示 ui

 <hibernate-configuration>
<session-factory name="foo">
<property name="show_sql">true</property>
<property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</property>
<property name="hibernate.connection.username">sa</property>
<property name="hibernate.connection.password">123456</property>
<property name="hibernate.connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
<property name="hibernate.connection.url">jdbc:sqlserver://localhost:1433;databaseName=Person</property>

<property name="hibernate.hbm2ddl.auto">update</property>
<hibernate-configuration>
<session-factory name="foo">
<property name="show_sql">true</property>
<property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</property>
<property name="hibernate.connection.username">sa</property>
<property name="hibernate.connection.password">123456</property>
<property name="hibernate.connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
<property name="hibernate.connection.url">jdbc:sqlserver://localhost:1433;databaseName=Person</property>

<property name="hibernate.hbm2ddl.auto">update</property>
url

<!-- 這個是最後添加創建,配置好的Person.hbm.xml-->
<mapping resource="com/hibernate/test/Person.hbm.xml"/>


</session-factory>


</hibernate-configuration>


切記這個也能夠在hibernate.properties中能夠找到

#hibernate.hbm2ddl.auto create-drop
#hibernate.hbm2ddl.auto create
#hibernate.hbm2ddl.auto update
#hibernate.hbm2ddl.auto validate



<property name="hibernate.hbm2ddl.auto">update</property>

 

第一個貌似是建立以後就刪除掉

第二個是本次建立的時候就刪除上次建立的

第三個爲更新 就是就算你上次建立過的本次建立添加了也不會刪除上次的內容

因此這裏咱們選擇update

最後咱們來建立表中所須要的內容  由於只是作個測試 因此簡單的建立一個類

TestCreateDB

建立完以後 咱們就能夠去配置關於這個類的 hibernate配置文件了

 

這就須要拷貝 ect中的employee.hbm.xml 拷貝到當前類的包的下面 而且更名爲 類名.cfg.xml(Person.cfg.cml)

而後咱們來配置Person.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">
<hibernate-mapping>
    <class name="com.hibernate.test.Person" table="tb_Person">
<id name="pid" type="integer">
    <generator class="native"></generator>
</id>
<property name="uname" type="string">
   
</property>
<property name="upwd" type="string">
   
</property>
</class>
</hibernate-mapping>

 

這個相信你們一看就能明白吧  <property>中的name值就是表中的字段名  type就是字段的屬性 

 

注意的是第一個 是建立的這張表的主鍵 自增加 (好像hibernate中是強制這樣要求的) 第一列 class 就是當前類的全類名 table 就是須要創建的表的名字  好了到這裏了準備工做差很少就作完了

 

 

最後 咱們用junit(昨天才學的)進行測試

 

建立一個測試類

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.hibernate.Transaction;

import org.hibernate.cfg.Configuration;

import org.junit.Test;

 

import com.hibernate.test.Person;

public class TestCreateTable {

 

    private static Configuration cf;

//這裏爲了之後方便 一次建立了 Configuration

static{

       cf=new Configuration();

//這裏由於我建立了一個config sourc folder 裏面有一個hibernate的配置文件

//(hibernate.cfg.xml)

       cf.configure("hibernate/hibernate.cfg.xml");

      

    }

    public static SessionFactory getSessionFactory(){

/返回sessionFactory     

return cf.buildSessionFactory();

    }

    @Test

    public void testCreateDb(){

       //開啓session

       Session session=getSessionFactory().openSession();

       //開啓事務(必定要開啓事務和提交事務,否則不會成功)

       Transaction tr=session.beginTransaction();

      

       Person person=new Person();

       person.setUname("張三");

       person.setUpwd("123");

      //保存到數據中

session.save(person);

       tr.commit();

      

    }

}

 

到這裏就成功的完成了 

嘿嘿 第一次發這種本身感受有點點技術含量的帖子,不知道有哪裏作得很差的 望你們指出啊。之後我會改正的。


(才學ssh,不少東西不懂,因此就把最近所學的一些東西放上來  供你們參考和指出不正確的地方)

相關文章
相關標籤/搜索