程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Hibernate 擁有 Mybits 的SQL/HQL特性 (注解、XML兩不誤),mybitshql

Hibernate 擁有 Mybits 的SQL/HQL特性 (注解、XML兩不誤),mybitshql

編輯:JAVA綜合教程

Hibernate 擁有 Mybits 的SQL/HQL特性 (注解、XML兩不誤),mybitshql


    第一次寫博客。文章有點渣,喜歡就看看,不喜歡路過點個贊。

    效果:直接一條語句多種用法

    先來原理 HQL/SQL + Freemarker 模版生成查詢語句。

    1:把SQL/HQL寫在XML。

    2:編寫文件掃描器(缺)

    3:讀取解釋XML

    4:按實體類空間緩存查詢語句

    5:直接使用

注意:不要直接復制,先弄懂流程,因為這源於舊版本及測試包來寫的,也省略了部分代碼,因此包路徑有問題。程序也不完整,缺了的自己讓大家自己去思考實現。基本上依賴Spring,不依賴Spring注入的可以考慮用代理模式注入(反射/生成字節碼(javassist/asm)/CGLIB等)

1:為了方便先定義約束Query.dtd

2:建個實體類user.class

3:建立對應的XML (User.query.xml)

4:解析緩存XML

 

5:定義 DBAdapter接口。

6:寫實現(AbstractHibernateDBAdapter、HibernateSingleDBAdapter)

AbstractHibernateDBAdapter

 

HibernateSingleDBAdapter

 

7:注入xml

    <!-- QueryFile 注入 -->

    <bean id="queryFactory" class="com.cheuks.bin.db.manager.QueryFactory">

        <property name="files" value="*.query.xml" />

    </bean>

    <!--Single DBAdapter 注入 -->

    <bean id="dBAdapter" class="com.cheuks.bin.db.manager.HibernateSingleDBAdapter">

        <property name="sessionFactory" ref="sessionFactory" />

        <property name="queryFactory" ref="queryFactory" />

    </bean>

 

 

8:使用 AbstractDao 、UserDao

AbstractDao

UserDao

 

整體就完了。XML部分看DTD。覺得不錯可以收藏。但請不要 不名字改了變成自己的成果呀!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved