日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hibernate 三种查询方式源码跟踪及总结

發布時間:2025/4/5 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hibernate 三种查询方式源码跟踪及总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.設置環境(以EClipse和hibernate 3.2.6為例)

?? 1)首先,新建一個java 工程。

? 2) 將hiberante src導入到java的src目錄下,此時多半會報錯,不用管它!

? 3)將hiberante中lib的jar全部加入到buildpath上,并且把hibernate.jar加入到buildpath。

?? 4)出錯的話 自己檢查一下 ,屏蔽掉部分出錯代碼即可,不影響跟蹤。

??? 5)在src目錄下建立hibernate.cfg.xml(或者其它也可以)。

??? 6)新建source Folder 目錄 srcTest。

?????? 在其中建立類和映射文件User.hbm.xml(略)

public class User implements java.io.Serializable {
?? ?private Integer id;

??? private String username;

??? private String password;

?? 。。。。。。。。。。。。。。
}

? 7)建立測試類(三種方式跟蹤源碼)

public class PagingTest {

?? ?/**
?? ? * @param args
?? ? */
?? ?public void testQuery(){
??????? Configuration config = new Configuration(); ?
??????? config.configure(); ?
???????????? // 如果hibernate.cfg.xml中沒有配置的某些屬性,你可以通過config.setProperty(propertyName, value);來配置. ?
??????? //如config.setProperty("hibernate.connection.driver_class", "com.mysql.jdbc.Driver"); ?
??????? SessionFactory factory = config.buildSessionFactory(); ?
???? ?
??????? Session session = factory.openSession(); ?
??????? Transaction tran = session.beginTransaction();
??????? Query q = session.createSQLQuery("select * from USER_TABLE"); ?
??????? List l = q.list();
??????? tran.commit();
??????? System.out.println(l);
?? ?}
?? ?public void testCriteria(){
??????? Configuration config = new Configuration(); ?
??????? config.configure(); ?
???????????? // 如果hibernate.cfg.xml中沒有配置的某些屬性,你可以通過config.setProperty(propertyName, value);來配置. ?
??????? //如config.setProperty("hibernate.connection.driver_class", "com.mysql.jdbc.Driver"); ?
??????? SessionFactory factory = config.buildSessionFactory(); ?
???? ?
??????? Session session = factory.openSession(); ?
??????? Transaction tran = session.beginTransaction();
??????? Criteria criteria = session.createCriteria(User.class); ?
??????? List l = criteria.list();
??????? tran.commit();
??????? System.out.println(l);
?? ?}
?? ?
?? ?public void testNativeSql(){
??????? Configuration config = new Configuration(); ?
??????? config.configure(); ?
???????????? // 如果hibernate.cfg.xml中沒有配置的某些屬性,你可以通過config.setProperty(propertyName, value);來配置. ?
??????? //如config.setProperty("hibernate.connection.driver_class", "com.mysql.jdbc.Driver"); ?
??????? SessionFactory factory = config.buildSessionFactory(); ?
???? ?
??????? Session session = factory.openSession(); ?
??????? Transaction tran = session.beginTransaction();
??????? SQLQuery query = session.createSQLQuery("select * from USER_TABLE");
??????? List l = query.list();
??????? tran.commit();
??????? System.out.println(l);
?? ?}
?? ?public static void main(String[] args) {
?? ??? ?PagingTest pt=new PagingTest();
?? ??? ?//pt.testCriteria();//select this_.USER_ID as USER1_0_0_, this_.USER_NAME as USER2_0_0_, this_.PASSWORD as PASSWORD0_0_ from USER_TABLE this_
?? ??? ?//pt.testQuery();//select * from USER_TABLE
?? ??? ?pt.testNativeSql();
?? ?}

}

2. 圖片如下所示

3. 總結

??? 有需要源碼的可以聯系我

轉載于:https://www.cnblogs.com/davidwang456/archive/2013/02/19/2917581.html

總結

以上是生活随笔為你收集整理的hibernate 三种查询方式源码跟踪及总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。