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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

eclipse 达梦 连接_达梦Hibernate Spring集成开发示例

發(fā)布時(shí)間:2025/4/16 javascript 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 eclipse 达梦 连接_达梦Hibernate Spring集成开发示例 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

【IT168 技術(shù)文檔】DM是武漢華工達(dá)夢(mèng)數(shù)據(jù)庫(kù)有限公司推出的新一代高性能、高安全性的數(shù)據(jù)庫(kù)產(chǎn)品。它具有開(kāi)放的、可擴(kuò)展的體系結(jié)構(gòu),高性能事務(wù)處理能力,以及低廉的維護(hù)成本。DM是完全自主開(kāi)發(fā)的數(shù)據(jù)庫(kù)軟件,其安全級(jí)別達(dá)到了國(guó)內(nèi)所有數(shù)據(jù)庫(kù)產(chǎn)品中的最高級(jí)---B1級(jí)。在這里我準(zhǔn)備用時(shí)下比較流行的開(kāi)發(fā)工具,Hibernate和Spring,達(dá)夢(mèng)數(shù)據(jù)庫(kù)。以及MyEclipse來(lái)完成一個(gè)簡(jiǎn)單的應(yīng)用。

數(shù)據(jù)庫(kù)采用達(dá)夢(mèng)5.0

1、用達(dá)夢(mèng)創(chuàng)建一個(gè)test數(shù)據(jù)庫(kù),再創(chuàng)建一個(gè)user表,再創(chuàng)建兩個(gè)字段username和password。腳本如下

createdatabasetest datafile'test.dbf'size100;setcurrentdatabasetestcreatelogin test identifiedbytest123defaultdatabasetest;createusertest relatedbytest;grantresourcetotest at test;

以上腳本為創(chuàng)建test數(shù)據(jù)庫(kù) ,并且創(chuàng)建一個(gè)登陸名為 test 密碼是test123

droptablext_user;createtablext_user(user_idvarchar(30)notnull,user_namevarchar(20)notnull,

user_pwdvarchar(30)notnull,primarykey(user_id)

);

2、打開(kāi)myeclipse的database explore透視圖,右鍵單擊左側(cè)的空白區(qū)域 ,點(diǎn)擊 new 按鈕單擊“configure database driver”來(lái)配置數(shù)據(jù)庫(kù)的驅(qū)動(dòng)。完成以后,做如下操作:

然后測(cè)試數(shù)據(jù)庫(kù)是否連接成功。

如果測(cè)試成功顯示如下圖:

1.新建一個(gè)web項(xiàng)目testSpring

2.引入Spring包

注意:這里為了省得以后再添加spring的相關(guān)包,所以一次性的選中了所有的包。選中

Copy選項(xiàng),它會(huì)把這些包拷貝到/WebRoot/WEB-INF/lib目錄下,方便以后實(shí)際項(xiàng)目中的使用。其余選下一步,完成

3.添加hibernate包

這時(shí)候,系統(tǒng)會(huì)檢測(cè)到已經(jīng)添加了spring包。選擇使用Spring的配置文件

點(diǎn)next

點(diǎn)next

這里Dialect先空著。點(diǎn)下一步

點(diǎn)完成

4.由于達(dá)夢(mèng)數(shù)據(jù)庫(kù)不支持Hibrnate Reverse Engineering,在這里推薦使用Hibernate Synchronizer插件。下載以后直接接壓到eclipse的plug文件夾下面就可以使用了。在工程上面右鍵點(diǎn)新建 -> 其它 ->

選擇Hibernate Configuration File點(diǎn)下一步

這里的Database Type先暫時(shí)不要選擇(沒(méi)有達(dá)夢(mèng)數(shù)據(jù)庫(kù)選項(xiàng)),點(diǎn)完成。

將org.hibernate.dialect.DB2Dialect更改為

org.hibernate.dialect.DMDialect這個(gè)類的代碼在達(dá)夢(mèng)的幫助文檔中可以找到。

5.新建一個(gè)包c(diǎn)om.dm.vo用來(lái)存放我們的實(shí)體類。

在新建 -> 其它

選擇Hibernate Mapping File點(diǎn)下一步

點(diǎn)Refresh按鈕以后會(huì)看到數(shù)據(jù)庫(kù)中我們創(chuàng)建的xt_user表,然后選擇放到剛才我們建好的包里面,這樣會(huì)看到生成了一個(gè) xtUser.hbm.xml的hibernate的映射文件。選中該文件點(diǎn)鼠標(biāo)右鍵會(huì)看到HibernateSynchronizer選項(xiàng)。選擇Synchronizer File

會(huì)看到給我們生成了三個(gè)包,連DAO都幫我們生成了。還比較方便。

但是當(dāng)和Spring整合時(shí),會(huì)有一個(gè)小問(wèn)題,就是Hibernate Synchronizer產(chǎn)生的DAO,有自己控制Session的方法,如果直接使用Spring的HibernateTemplate,那么 Hibernate Synchronizer產(chǎn)生的那些DAO就變成沒(méi)用處,反過(guò)來(lái)直接使用Hibernate Synchronizer產(chǎn)生的DAO,那么會(huì)變成自己要想辦法管理session,就失去和Spring整合的方便,而如果混著用,那么session又變成不好控制。要解決這個(gè)問(wèn)題就要修改Hibernate Synchronizer產(chǎn)生的_BaseRootDAO,讓他直接extends HibernateDaoSupport

publicabstractclass_BaseRootDAOextendsHibernateDaoSupport {...protectedObject load(Class refClass, Serializable key) {

log.debug("load"+refClass+"instance with id:"+key);try{//使用getHibernateTemplate()去操作DB。returngetHibernateTemplate().load(refClass, key);

}catch(RuntimeException re) {

log.error("load failed", re);throwre;

}

}publicjava.util.List findBySQL(finalString queryString,finalString alias,finalClass refClass) {

log.debug("findBySQL queryString"+queryString);return(List) getHibernateTemplate().execute(newHibernateCallback() {publicObject doInHibernate(Session session)throwsHibernateException {

SQLQuery sqlQ=session.createSQLQuery(queryString);if(alias==null) {

sqlQ.addEntity(refClass==null?getReferenceClass(): refClass);

}else{

sqlQ.addEntity(alias, refClass==null?getReferenceClass() : refClass);

}returnsqlQ.list();

}

},true);

}

按照以上這個(gè)原則修改代碼。就可以和spring整和在一起,在Spring架構(gòu)里面使用Hibernate就變的非常簡(jiǎn)單,下面先建立業(yè)務(wù)邏輯代碼

MyTestDAO"class="com.dm.dao.MyTestDAO">sessionFactory">mySessionFactory"/>

程序代碼如下:

MyTestDAO mDao=(MyTestDAO)apcontext.getBean("MyTestDAO");//查詢 用native SQLList list=mDao.findBySQL("select XtUser.* from XT_USER XtUser","tss");//查詢 用HQLList list=mDao.find("from XtUser");//新增mDao.save(newXtUser ());//修改mDao.saveOrUpdate(newXtUser ());//刪除mDao.delete(XtUser);

修改后spring ,hibernate就能夠整和在一起,以上的方法只是一個(gè)比較簡(jiǎn)單的示例,應(yīng)該有個(gè)service層用來(lái)提供服務(wù)。而DAO是具體的業(yè)務(wù)實(shí)現(xiàn)類。這樣每層之間是松散偶合。為了簡(jiǎn)便起見(jiàn)就沒(méi)有去編寫(xiě)service這一層。使用HibernateSynchronizer可以提高我們的開(kāi)發(fā)效率。MyEclipse的Hibernate插件不支持達(dá)夢(mèng)數(shù)據(jù)庫(kù)自動(dòng)生成映射文件。如果每個(gè)表都需要我們?nèi)ブ饌€(gè)來(lái)編寫(xiě)映像文件是比較煩瑣的工作。利用HibernateSynchronize能夠較好的解決這個(gè)問(wèn)題。提高開(kāi)發(fā)的效率。

總結(jié)

以上是生活随笔為你收集整理的eclipse 达梦 连接_达梦Hibernate Spring集成开发示例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 一区二区三区网 | 久久综合社区 | 久久久久久在线观看 | 成人av一区 | 秋霞欧美视频 | 98久久久 | 吞精囗交69激情欧美 | 久久久99精品国产一区二区三区 | 国产suv精品一区二区 | 日韩在线视频一区二区三区 | 五月激情婷婷丁香 | 午夜精品久久久久久久久久久久 | 超碰在线进入 | 影音先锋男人天堂 | 无码人妻一区二区三区精品视频 | 少妇一级淫片免费观看 | 欧美久久精品一级黑人c片 1000部多毛熟女毛茸茸 | 91福利视频在线观看 | 青青草视频网站 | www.youjizz.com久久 | 国产又色又爽又黄又免费 | 日韩欧美国产一区二区在线观看 | 成年人激情网 | 自拍偷拍色图 | 国模无码一区二区三区 | 夜夜爽夜夜叫夜夜高潮漏水 | 日本va欧美va国产激情 | 日本美女啪啪 | 天堂av一区二区三区 | 台湾a级片 | 国产chinasex对白videos麻豆 | 日本在线一本 | b站大片免费直播 | jizz色| 日本黄色片一级 | 韩国三色电费2024免费吗怎么看 | 免费黄在线 | 成人黄色免费网 | 91精品国产99久久久久久 | 日韩美女激情视频 | www久久精品 | 国产又粗又长又爽 | 成年人毛片 | 亚洲国产大片 | 日韩成人一级片 | 中文字幕在线观看视频www | 丁香色欲久久久久久综合网 | 欧美蜜臀| 亚洲一区二区三区在线播放 | 欧美一区高清 | 夜夜摸夜夜爽 | 自拍日韩亚洲一区在线 | 日韩免费av在线 | 最新在线视频 | 日本在线视频一区 | 邻居少妇张开双腿让我爽一夜 | 国产精品九 | 九色国产在线 | 亚洲免费一级片 | 成人黄色在线视频 | 青草国产| 亚洲Av无码成人精品区伊人 | 午夜精品免费视频 | 波多在线播放 | 国产手机看片 | 最新欧美日韩 | 婷婷精品在线 | 国产亚洲区 | 就去色综合 | 日本三级久久 | 一级黄色录像免费观看 | 亚洲黄色自拍 | 护士人妻hd中文字幕 | 国产亚洲激情 | 琪琪色在线观看 | 婷婷午夜天 | 免费在线毛片 | 欧美亚洲不卡 | 无码人妻一区二区三区免费 | 中文字幕一区二区三区日韩精品 | 亚洲五级片 | 欧美寡妇性猛交ⅹxxx | 国产色片| 亚洲av综合色区无码一区爱av | 日韩专区中文字幕 | 成人午夜av在线 | 蓝牛av| www.国产视频.com | 亚洲无人区码一码二码三码的含义 | 久久久久久夜 | 草久久av | 久久99久久99精品免视看婷婷 | 超级黄色录像 | 精品欧美一区二区三区成人 | 久久99精品国产.久久久久 | 午夜影视免费 | 国产又色又爽无遮挡免费动态图 | 特种兵之深入敌后高清全集免费观看 | 成人久久久精品国产乱码一区二区 |