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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

J2EE数据库后台开发步骤(附HQL使用教程)

發布時間:2025/3/15 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 J2EE数据库后台开发步骤(附HQL使用教程) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

假設我們要建表X,那么我將需要執行以下步驟:

注意:在我們的項目中,我們將DAO文件和X.hbm.xml歸入DAO包,將表的實例化放入model包,將Service Implement放入ServiceImpl包,將Service Interface放入Service包。另外,dao-background.xml保存dao-xml信息,service-background.xml保存service-xml信息。

1. 連接數據庫。

2. 生成表x的DAO,實例化類和hbm.xml。

3. 將實例化類和hbm.xml移到DAO包

4. 修改hbm.xml,注釋掉未添加的鍵值關聯

5. 建立XServiceImpl文件,編寫Impl代碼

6. 提取Service Interface到Service包,類型規范為XService

7. 修改dao-background.xml和service-background.xml,即添加DAO和service信息

8. 新建JUNITtest,測試。

?

如果需要在項目中使用HQL(以分頁為例),可以執行如下步驟。

說明:這里只包含基本的架構方式(參考《輕量級Jave EE》),可能有誤。

1. 在DAO或者Service里添加HQL語句(本項目放入DAO包):

2. 注意提交事務和關閉session(這是后期開發遇到的問題)。

//added manually by Van_ruinpublic static List<ProductInfo> findAllRecordByPage(int start,int limit){List<ProductInfo> productTypeInfos;Session session = HibernateUtil.currentSession();Transaction tx = session.beginTransaction();productTypeInfos = session.createQuery("from ProductInfo").setFirstResult(start).setMaxResults(limit).list();tx.commit();HibernateUtil.closeSession();return productTypeInfos;}


?

這里會發現Session類和HibernateUtil類都未導入,Session類來自于org.hibernate.Session;HibernateUtil則為自己新建(代碼來自于《輕量級Jave EE》)。可以將這個類放到同目錄下。

package com.background.dao;import org.hibernate.*; import org.hibernate.cfg.*;public class HibernateUtil {public static final SessionFactory sessionFactory;static{try{//采用默認的hibernate.cfg.xml來啟動一個Configuration的實例Configuration configuration = new Configuration().configure();//由Configuration的實例來創建一個SessionFactory實例sessionFactory = configuration.buildSessionFactory();}catch (Throwable ex){System.err.println("Initial SessionFactory creation failed." + ex);throw new ExceptionInInitializerError(ex);}}//ThreadLocal可以隔離多個線程的數據共享,因此不再需要對線程同步 public static final ThreadLocal<Session> session= new ThreadLocal<Session>();public static Session currentSession()throws HibernateException{Session s = session.get();//如果該線程還沒有Session,則創建一個新的Sessionif (s == null){s = sessionFactory.openSession();//將獲得的Session變量存儲在ThreadLocal變量session里session.set(s);}return s;}public static void closeSession()throws HibernateException {Session s = session.get();if (s != null)s.close();session.set(null);} }

2. 添加ServiceImpl中的函數(如果HQL已經放入Impl中,則不需要)

3. 添加ServiceInterface函數。

4. 測試。


簡單實用的HQL語句:

1. 排序: from *(實體名) order by *(屬性值) [desc]

2. 排序對象為外鍵的時候: from *(實體名) order by *(實體屬性值).*(外鍵屬性)


action開發流程:

1. 根據用例添加action方法。

2. 如果service內沒有現成方法,添加service方法。

3. 如果需要用到HQL,在DAO中添加方法。

4. 添加strut信息。

5. 添加action信息。


?

轉載于:https://www.cnblogs.com/wead-hsu/p/3712283.html

總結

以上是生活随笔為你收集整理的J2EE数据库后台开发步骤(附HQL使用教程)的全部內容,希望文章能夠幫你解決所遇到的問題。

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