<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    The NoteBook of EricKong

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      611 Posts :: 1 Stories :: 190 Comments :: 0 Trackbacks
     

    Hibernate是用來操作數據庫的,當然要結合數據庫來使用。但是公司的電腦是不能隨便安裝軟件的,即使是mysql的免安裝版,也要把驅動文件放到windows下,沒有權限是做不到的。因此推薦一個hsqldb數據庫,是java語言寫的。不需要安裝。下面介紹如何結合hibernatehsqldb

    1、 下載hsqldb

    http://hsqldb.org/

    將下載下來的文件解壓,文件結構如圖

     

    打開demo文件夾

     

    注意里面的幾個文件runManager.batrunServer.batmy_server.batrunManagerSwing.bat

    runServer.bat是來開啟數據庫服務,runManager.batrunManagerSwing.bat是數據庫管理界面,可以在里面輸入sql語句來執行。注意my_server.bat是自己加進去的,內容是:

    cd ../data

    java -cp ../lib/hsqldb.jar org.hsqldb.Server -database.0 file:mydb -dbname.0 hibernate

    hibernate是數據庫名,自己隨便寫,也可以寫成mydb等等

    2、 啟動hsqldb

    先執行my_server.bat,然后執行runServer.bat,最后執行runManager.bat或者runManagerSwing.bat,本例中以runManager.bat為例,啟動界面,配置如圖

     

    注意url中不要忘記hibernate這個數據庫名。

    點擊ok,如圖,里面有個名字為user的表

     

    Hsqldb就配置到這里。

    3、 下面hibernate的配置,首先自己建一個user library,把hibernate所有的必須的jar包都添加進去,在hibernate文件夾中有,自己添加一下。

    然后新建一個java項目hibernateDemo,將剛才自己定義的庫加到工程里。配置到此結束。

    4、 我們現在src文件下定義hibernate的配置文件hibernate.cfg.xml文件,內容如下

     

     

     

    1. <?xml version='1.0' encoding='UTF-8'?>  
    2.   
    3. <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"   
    4.   
    5. "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">  
    6.   
    7. <hibernate-configuration>  
    8.   
    9.     <session-factory>  
    10.   
    11.        <property name="myeclipse.connection.profile">hsql</property>  
    12.   
    13.        <property name="connection.url">jdbc:hsqldb:hsql://localhost/hibernate</property>  
    14.   
    15.        <property name="connection.username">sa</property>  
    16.   
    17.        <property name="connection.password"></property>  
    18.   
    19.        <property name="connection.driver_class">org.hsqldb.jdbcDriver</property>  
    20.   
    21.        <property name="dialect">org.hibernate.dialect.HSQLDialect</property>  
    22.   
    23.        <property name="show_sql">true</property>  
    24.   
    25.        <property name="connection.autocommit">true</property>  
    26.   
    27.        <property name="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>  
    28.   
    29.    
    30.   
    31.          
    32.   
    33.        <mapping resource="com/zhoubo/hibernate/User.hbm.xml" />  
    34.   
    35.    
    36.   
    37.     </session-factory>  
    38.   
    39. </hibernate-configuration>  

     

    5、 在文件夾src下定義一個package  com.zhoubo.hibernate 在里面新建一個User類,如下

     

    1. package com.zhoubo.hibernate;  
    2.   
    3.    
    4.   
    5. public class User {  
    6.   
    7.    
    8.   
    9.     private String id;  
    10.   
    11.     private String password;  
    12.   
    13.     private char sex;  
    14.   
    15.     private int age;  
    16.   
    17.       
    18.   
    19.     public String getId() {  
    20.   
    21.        return id;  
    22.   
    23.     }  
    24.   
    25.     public void setId(String id) {  
    26.   
    27.        this.id = id;  
    28.   
    29.     }  
    30.   
    31.     public String getPassword() {  
    32.   
    33.        return password;  
    34.   
    35.     }  
    36.   
    37.     public void setPassword(String password) {  
    38.   
    39.        this.password = password;  
    40.   
    41.     }  
    42.   
    43.     public char getSex() {  
    44.   
    45.        return sex;  
    46.   
    47.     }  
    48.   
    49.     public void setSex(char sex) {  
    50.   
    51.        this.sex = sex;  
    52.   
    53.     }  
    54.   
    55.     public int getAge() {  
    56.   
    57.        return age;  
    58.   
    59.     }  
    60.   
    61.     public void setAge(int age) {  
    62.   
    63.        this.age = age;  
    64.   
    65.     }  
    66.   
    67.       
    68.   
    69. }  

     

    在里面定義一個User類的配置文件User.hbm.xml

     

    1. <?xml version='1.0' encoding='UTF-8'?>  
    2.   
    3. <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  
    4.   
    5.         "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">  
    6.   
    7. <hibernate-mapping>  
    8.   
    9.     <class name="com.zhoubo.hibernate.User" table="User">  
    10.   
    11.          
    12.   
    13.         <id name="id" column="User_id">  
    14.   
    15.             <generator class="uuid"/>  
    16.   
    17.         </id>  
    18.   
    19.         <property name="password"/>  
    20.   
    21.         <property name="sex"/>  
    22.   
    23.         <property name="age"/>  
    24.   
    25.     </class>  
    26.   
    27. </hibernate-mapping>  

     

    并且在hibernate.cfg.xml中來注冊這個user.hbm.xml,也就是我們在hibernate.cfg.xml中看到的

    <mapping resource="com/zhoubo/hibernate/User.hbm.xml" />

     

    下面我們就來通過hibernate來在數據庫生成user表,定義一個DBExport類,如下

     

    1. package com.zhoubo.hibernate;  
    2.   
    3.    
    4.   
    5. import org.hibernate.cfg.Configuration;  
    6.   
    7. import org.hibernate.tool.hbm2ddl.SchemaExport;  
    8.   
    9.    
    10.   
    11. public class DBExport {  
    12.   
    13.    
    14.   
    15.     public static void main(String ...arg){  
    16.   
    17.        Configuration cfg = new Configuration().configure();  
    18.   
    19.        SchemaExport export = new SchemaExport(cfg);  
    20.   
    21.        export.create(true, true);  
    22.   
    23.     }  
    24.   
    25.    
    26.   
    27. }  

     

    可以通過desc user來查詢表的屬性,可以看到表已經生成了。

    下面我們來在表中插入數據,定義一個hibernateUtil類和Client類,如下

     

    1. package com.zhoubo.hibernate;  
    2.   
    3. import org.hibernate.Session;  
    4. import org.hibernate.SessionFactory;  
    5. import org.hibernate.cfg.Configuration;  
    6.   
    7. public class HibernateUtils {  
    8.   
    9.     private static SessionFactory factory ;  
    10.       
    11.     static {  
    12.         try{  
    13.             Configuration cfg = new Configuration().configure();  
    14.             factory = cfg.buildSessionFactory();  
    15.         }catch(Exception e){  
    16.             e.printStackTrace();  
    17.         }  
    18.     }  
    19.       
    20.     public static Session getSession(){  
    21.         return factory.openSession();  
    22.     }  
    23.       
    24.     public static SessionFactory getSessionFactory(){  
    25.         return factory;  
    26.     }  
    27.       
    28.     public static void closeSession(Session session){  
    29.         session.close();  
    30.     }  
    31. }  

     

    1. package com.zhoubo.hibernate;  
    2.   
    3.    
    4.   
    5. import org.hibernate.Session;  
    6.   
    7. import org.hibernate.Transaction;  
    8.   
    9.    
    10.   
    11. public class Client {  
    12.   
    13.    
    14.   
    15.     public static void main(String ...args){  
    16.   
    17.        User user = new User();  
    18.   
    19.        Session session = null;  
    20.   
    21.        Transaction tx = null;  
    22.   
    23.        try{  
    24.   
    25.            session = HibernateUtils.getSession();  
    26.   
    27.            tx = session.beginTransaction();  
    28.   
    29.              
    30.   
    31.            user.setAge(18);  
    32.   
    33.            user.setPassword("hello");  
    34.   
    35.            user.setSex('m');  
    36.   
    37.              
    38.   
    39.            session.save(user);  
    40.   
    41.            tx.commit();  
    42.   
    43.              
    44.   
    45.        }catch(Exception e){  
    46.   
    47.            e.printStackTrace();  
    48.   
    49.            tx.rollback();  
    50.   
    51.        }finally{  
    52.   
    53.            HibernateUtils.closeSession(session);  
    54.   
    55.        }  
    56.   
    57.          
    58.   
    59.          
    60.   
    61.     }  
    62.   
    63. }  

     

    通過查詢,我們可以看到插入的值。

    posted on 2012-08-31 11:17 Eric_jiang 閱讀(952) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 成人奭片免费观看| 亚洲首页国产精品丝袜| 亚洲av永久无码精品漫画| 免费精品国产自产拍在线观看 | 亚洲天堂一区二区三区| 国内精品99亚洲免费高清| 女人与禽交视频免费看| 免费人成大片在线观看播放电影 | 中文字幕免费在线看线人动作大片 | 亚洲乱码中文论理电影| 久久久久久a亚洲欧洲aⅴ| 又黄又爽无遮挡免费视频| 在线播放高清国语自产拍免费| 最近免费最新高清中文字幕韩国| 亚洲中文字幕乱码熟女在线| 日韩亚洲Av人人夜夜澡人人爽 | 男女猛烈xx00免费视频试看| 日本亚洲精品色婷婷在线影院| 婷婷亚洲综合五月天小说| a级毛片无码免费真人| 在线看片v免费观看视频777| 午夜爽爽爽男女免费观看影院| 亚洲黄片毛片在线观看| 四虎影院在线免费播放| 成人免费福利电影| h视频在线免费看| 嫩草在线视频www免费看| 中文字幕 亚洲 有码 在线| 亚洲av无码精品网站| 亚洲av午夜成人片精品网站 | 一区二区三区免费电影| 亚洲不卡1卡2卡三卡2021麻豆| 国产精品亚洲综合一区| 成年丰满熟妇午夜免费视频| 成人无码区免费视频观看| 性感美女视频在线观看免费精品| 大陆一级毛片免费视频观看i| 在线a人片天堂免费观看高清| 免费鲁丝片一级观看| 国产jizzjizz免费看jizz| 国产精品色午夜免费视频|