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 三种查询方式源码跟踪及总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库分区表的使用
- 下一篇: 开发团队如何完成一个项目?