<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    dyerac  
    dyerac In Java
    公告

    日歷
    <2006年9月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    1234567
    統計
    • 隨筆 - 36
    • 文章 - 10
    • 評論 - 94
    • 引用 - 0

    導航

    常用鏈接

    留言簿(5)

    隨筆分類(49)

    隨筆檔案(36)

    文章分類(11)

    文章檔案(10)

    相冊

    dyerac

    搜索

    •  

    積分與排名

    • 積分 - 79267
    • 排名 - 705

    最新隨筆

    最新評論

    閱讀排行榜

    評論排行榜

     

    整合hibernate和spring這樣的文章已經很多了,下面我們來看看如何利用myeclipse的功能為整合提速咯

    1.首先,創建工程,可以直接選創建J2EE web工程
    ?? (這....就不用貼圖了吧)

    2.導入spring, 選擇myeclipse的add spring capabilities,注意把copy .....打勾(注,如果想要在spring的配置文件中配置hibernate的話, 一定要先導入spring)




    3. 導入hibernate, 選擇myeclipse的add hibernatecapabilities,注意把copy .....打勾




    這時,myeclipse檢測到已有spring,會問如何處理hibernate配置信息,? 這里, 我們選擇把hibernate的配置信息寫在spring的配置信息中



    接著,既然選擇把在spring配置文件中配置hibernate信息,就需要設置hibernate的sessionfactory在配置文件中的bean id, 這里, 就設置為sessionFactory




    然后要配置sessionFactory對應的數據源,注,數據源對應的bean id也需要設置,可以簡單設置為dataSource
    就不貼圖咯




    最后,選擇sessionfactory對于的實現類,可以就用spring提供的LocalSessionFactory



    這樣, 我們就在項目中添加了spring和hibernate并將他們給予整合咯

    3.應用:
    ? 配置好了環境,我們當然還得應用咯.下面給出我的代碼
    首先創建pojo和對應的hbm.xml

    package ?mapping;

    public ? class ?Test? {

    ????
    public ?Test()? {
    ????????
    super ();
    ????????
    // ?TODO?Auto-generated?constructor?stub
    ????}


    ????
    private ? int ?id;
    ????
    ????
    private ?String?name;

    ????
    public ? int ?getId()? {
    ????????
    return ?id;
    ????}


    ????
    public ? void ?setId( int ?id)? {
    ????????
    this .id? = ?id;
    ????}


    ????
    public ?String?getName()? {
    ????????
    return ?name;
    ????}


    ????
    public ? void ?setName(String?name)? {
    ????????
    this .name? = ?name;
    ????}

    ????
    ????
    }


    <? xml?version="1.0" ?>
    <! DOCTYPE?hibernate-mapping?PUBLIC?"-//Hibernate/Hibernate?Mapping?DTD?3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
    >

    < hibernate-mapping? default-lazy ="false" ??auto-import ="true" ?package ="mapping" >
    ???
    < class? table ="test" ?name ="Test" >
    ?????
    < id? name ="id" ?column ="test_id" ?type ="int" >
    ???????
    < generator? class ="native" ></ generator >
    ?????
    </ id >
    ?????
    ?????
    < property? name ="name" ?type ="string" ?column ="name" ></ property >
    ???
    </ class >
    </ hibernate-mapping >


    然后開發對應的DAO操作pojo, 因為我比較懶,所以直接使用HibernateTemplate進行操作

    package?mapping;
    ?
    import?java.util.List;

    import?org.hibernate.Criteria;
    import?org.springframework.orm.hibernate3.HibernateTemplate;

    public?class?TestDAO?{

    ????
    private?HibernateTemplate?hibernateTemplate;

    ????
    public?TestDAO()?{
    ????????
    super();
    ????????
    //?TODO?Auto-generated?constructor?stub
    ????}


    ????
    public?Test?getTest(String?name)?throws?Exception?{
    ????????Test?t
    =new?Test();
    ????????t.setName(name);
    ????????List?list?
    =?this.getHibernateTemplate().findByExample(t);
    ????????
    if?(list.isEmpty())
    ????????????
    throw?new?Exception("No?Such?Record");
    ????????
    else
    ????????????
    return?(Test)?list.get(0);
    ????}


    ????
    public?void?addTest(String?name)?{
    ????????Test?test?
    =?new?Test();
    ????????test.setName(name);
    ????????
    this.getHibernateTemplate().save(test);
    ????}


    ????
    public?void?updateTest(Test?test){
    ????????
    this.getHibernateTemplate().update(test);
    ????}

    ????
    ????
    public?void?deleteTest(Test?test){
    ????????
    this.getHibernateTemplate().delete(test);
    ????}

    ????
    ????
    public?HibernateTemplate?getHibernateTemplate()?{
    ????????
    return?hibernateTemplate;
    ????}


    ????
    public?void?setHibernateTemplate(HibernateTemplate?ht)?{
    ????????
    this.hibernateTemplate?=?ht;
    ????}

    }

    ?

    相應的,還需要修改下spring的配置文件

    <?xml?version="1.0"?encoding="UTF-8"?>
    <!DOCTYPE?beans?PUBLIC?"-//SPRING//DTD?BEAN//EN"?"http://www.springframework.org/dtd/spring-beans.dtd">

    <beans>
    ?

    ????
    <bean?id="dataSource"?class="org.apache.commons.dbcp.BasicDataSource">
    ????????
    <property?name="driverClassName">
    ????????????
    <value>com.mysql.jdbc.Driver</value>
    ????????
    </property>
    ????????
    <property?name="url">
    ????????????
    <value>jdbc:mysql://localhost:3306/nirvana?useUnicode=true</value>
    ????????
    </property>
    ????????
    <property?name="username">
    ????????????
    <value>dyerac</value>
    ????????
    </property>
    ????????
    <property?name="password">
    ????????????
    <value></value>
    ????????
    </property>
    ????
    </bean>
    ????????
    ????
    <bean?id="sessoinFactory"?class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    ????????
    <property?name="dataSource">
    ????????????
    <ref?bean="dataSource"?/>
    ????????
    </property>
    ????????
    <property?name="hibernateProperties">
    ????????????
    <props>
    ????????????????
    <prop?key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
    ????????????????
    <prop?key="connection.characterEncoding">utf8</prop>
    ????????????????
    <prop?key="hibernate.show_sql">true</prop>
    ????????????????
    <prop?key="hibernate.hbm2ddl.auto">update</prop>
    ????????????
    </props>
    ????????
    </property>
    ????????
    <property?name="mappingDirectoryLocations">
    ???????????
    <list?>
    ????????????
    <value>src/mapping</value>
    ???????????
    </list>
    ????????
    </property>
    ????
    </bean>
    ????
    ????
    <bean?id="hibernateTemplate"?class="org.springframework.orm.hibernate3.HibernateTemplate">
    ??????
    <property?name="sessionFactory">
    ???????
    <ref?bean="sessoinFactory"/>
    ??????
    </property>
    ??????
    <property?name="allowCreate">
    ????????
    <value>true</value>
    ??????
    </property>
    ????
    </bean>
    ????
    ????
    <bean?id="testDAO"?class="mapping.TestDAO">
    ??????
    <property?name="hibernateTemplate">
    ????????
    <ref?bean="hibernateTemplate"/>
    ??????
    </property>
    ????
    </bean>
    </beans>


    最后的最后,開發一個測試類:

    import?mapping.Test;
    import?mapping.TestDAO;?
    import?org.springframework.context.ApplicationContext;
    import?org.springframework.context.support.FileSystemXmlApplicationContext;

    public?class?Tester?{
    ?
    ????
    public?static?void?main(String?args[])?{
    ????????ApplicationContext?ctx?
    =?new?FileSystemXmlApplicationContext(
    ????????????????
    "src/applicationContext.xml");
    ????????TestDAO?test?
    =?(TestDAO)?ctx.getBean("testDAO");
    ????????
    //test.addTest("dyerac");
    ????????try?{?
    ????????????Test?t?
    =?test.getTest("bsbs");
    ????????????System.err.println(t.getName());
    ????????????
    //t.setName("bsbs");
    ????????????
    //test.updateTest(t);
    ?????????????
    //test.deleteTest(t);
    ????????}
    ?catch?(Exception?e)?{?
    ????????????System.err.println(e);
    ????????}

    ????}

    }

    posted on 2006-08-04 17:42 dyerac in java... 閱讀(6906) 評論(10)  編輯  收藏 所屬分類: spring&hibernate原創文章
    評論:
    • # re: 在myeclipse下整合spring和hibernate  高峰 Posted @ 2006-09-26 16:34
      我用sqlserver連的數據庫 出異常  回復  更多評論   

    • # re: 在myeclipse下整合spring和hibernate  dyerac in java... Posted @ 2006-09-29 01:16
      不會吧,什么問題?  回復  更多評論   

    • # re: 在myeclipse下整合spring和hibernate  冰川 Posted @ 2006-10-04 21:13
      樓主自己測試過了嗎?  回復  更多評論   

    • # re: 在myeclipse下整合spring和hibernate  dyerac in java... Posted @ 2006-10-04 21:48
      @冰川
      在mysql下肯定沒有問題,因為這是我做了后才寫的
      其他數據庫也應該沒有問題  回復  更多評論   

    • # re: 在myeclipse下整合spring和hibernate  fishbaby Posted @ 2006-10-17 16:33
      樓主的樣例不錯,讓我知道了 spring+hibernate是怎么個流程,我試著做了這個樣例,沒有發現問題。謝謝樓主!  回復  更多評論   

    • # re: 在myeclipse下整合spring和hibernate  leifeng Posted @ 2006-12-07 19:49
      ..開發對應的DAO操作pojo..

      是否多余?因為habernate mapping 已經幫你做好了吧  回復  更多評論   

    • # re: 在myeclipse下整合spring和hibernate  dyerac in java... Posted @ 2006-12-08 17:09
      恩,只是為演示而已。  回復  更多評論   

    • # re: 在myeclipse下整合spring和hibernate  loner Posted @ 2006-12-27 16:15
      為什么我的   回復  更多評論   

    • # re: 在myeclipse下整合spring和hibernate  loner Posted @ 2006-12-27 16:17
      為什么我的 db profile 下是空的,無法選擇呢````這是為什么阿``  回復  更多評論   

    • # re: 在myeclipse下整合spring和hibernate  ,貓貓 Posted @ 2007-03-19 21:48
      List list = this.getHibernateTemplate().findByExample(t);
      老報沒有findByEample()這個方法的錯??  回復  更多評論   


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
     
    Copyright © dyerac in java... Powered by: 博客園 模板提供:滬江博客
    主站蜘蛛池模板: 亚洲嫩草影院久久精品| 野花香在线视频免费观看大全 | 亚洲熟女精品中文字幕| 苍井空亚洲精品AA片在线播放 | 黄色免费在线网站| 精品亚洲成在人线AV无码| 亚洲精品第一国产综合境外资源 | 91热久久免费精品99| 亚洲永久网址在线观看| 国产L精品国产亚洲区久久| 亚洲精品欧美综合四区| 亚洲第一AAAAA片| 中文字幕无码亚洲欧洲日韩| 131美女爱做免费毛片| 亚洲国产精品无码第一区二区三区 | 国产亚洲人成在线播放| 吃奶摸下高潮60分钟免费视频| 男女拍拍拍免费视频网站| 亚洲精品乱码久久久久久中文字幕| 久久99免费视频| 久久亚洲日韩精品一区二区三区| 91av在线免费视频| 亚洲男女性高爱潮网站| 精品亚洲福利一区二区| 亚洲人成人无码网www电影首页| 美女无遮挡免费视频网站| 亚洲色无码专区在线观看| 99免费视频观看| 粉色视频免费入口| 亚洲视频精品在线观看| 免费一级毛片不卡不收费| 中文字幕无码免费久久9一区9| 久久精品国产亚洲AV久| 久久精品亚洲男人的天堂| 人禽杂交18禁网站免费| 亚洲成av人片不卡无码久久| 日本人成在线视频免费播放| 亚洲av永久无码天堂网| 一区二区三区亚洲| 免费大片在线观看网站| 成人无码区免费视频观看|