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

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

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

    終于把hibernate調(diào)通了,一個簡單的入門例子

     

      花了小半天,終于把一個簡單的hibernate程序搞通了,成功的向數(shù)據(jù)庫中添加了數(shù)據(jù)。現(xiàn)在冷靜下來想一下,其實也挺簡單的,但在具體的過程中自己出了不少的錯誤,究其原因有二:其一是自己從網(wǎng)上找了一些程序,但沒有理解其根本意思就開始照著上面的代碼編寫,結(jié)果編寫出來的大多不能正常運(yùn)行;其二是由于公司只提供eclipse開發(fā)工具,沒有myeclipse插件,所以開發(fā)hibernate, struts框架的時候就很不方便。我采用hibernate Synchronizer插件來進(jìn)行開發(fā)。因為在有許多同行都推薦它,但具體怎么樣,我現(xiàn)在還不好說,畢竟剛開始用這個插件。若想了解hibernate Synchronizer的特性,網(wǎng)上google一下,多的是。

    好了,現(xiàn)在具體來說說這個簡單的例子。

    首先,需要具備以下條件;

    1eclipse 3.2或者其它版本。此文所采用的是3.2英文版。

    2Mysql 數(shù)據(jù)庫以及驅(qū)動程序.jar文件。

    3hibernate Synchronizer插件。可從sourcefourge上下載。

    4hibernate文件包,里面包括所有的jar文件。

    第二:在MYSQL中建立一個測試數(shù)據(jù)庫,名為test。并建立一個數(shù)據(jù)表person:

    use test;

    create table person(

           ID int auto_increment primary key,

           Name char(10),

           Sex char(1),

           Address char(20));

    第三,在eclipse中新建一個java project。命名為hibernateTest。并導(dǎo)入JRE文件.
     

    第四,右鍵單擊已經(jīng)建立好的JAVA工程,將hibernatemysql.jar文件導(dǎo)入到工程中。具體操作:右鍵單擊工程->Build path->Configure build path->add external JARS 導(dǎo)入hibernatemysql的相關(guān)jar文件。至此我們已經(jīng)搭建好了開發(fā)環(huán)境,下一步開始進(jìn)行實際開發(fā)。

    第五,右鍵單擊工程,選擇new-->other-->hibernate-->hibernate configure file,在彈出窗口中填入相應(yīng)內(nèi)容,eclipse將會自動生成hibernateconfigure 文件。在彈出的窗口中也可以選擇數(shù)據(jù)源配置方式,方法只要在窗口在connection項中選擇database便可。有興趣的可以自己試試看。

    注意:請保證configure文件是處于工程的根目錄下面,否則在編譯的時候會因為找不到該文件而出錯。

    第六,在工程中新建一個包,名字隨你喜歡,主要是用來存放一些JAVA文件。右鍵單擊工程hibernateTestànewàpackageà寫入包名,這里我所用的包名是src。完成以后,單擊所建立的包,newàotheràhibernateàhibernate mapping file,出現(xiàn)配置窗口,如果前面步驟正確的話,將會看到如圖的畫面,點(diǎn)擊tables對應(yīng)的refresh按鍵,將會出現(xiàn)你所建數(shù)據(jù)庫中的表,此時選擇我們所建立的person表,點(diǎn)擊finish,會看到src目錄中出現(xiàn)了一個person.hbm.xml文件,利用hibernate Synchronizer Editer打開這個文件,方法:右鍵單擊該文件àopenwithàhibernate Synchronizer Editer。查看其中ID<generator class>屬性,確認(rèn)該屬性配置為identity,自動增長型。配置完成。

    經(jīng)過上一步后,因為我們采用hibernate Synchronizereclipse會為我們自動生成一個person.java文件和一個BasePerson.java文件,BasePerson.java位于一個獨(dú)立包中,主要是提供對數(shù)據(jù)庫表person的相應(yīng)字段的getset方法,它實現(xiàn)Serializable接口。并重寫了其中的equals(),hashCode()toString()方法。我理解為實際上就是一個POJO,沒有什么其它特殊的。而person.java只是繼承了BasePerson.java,這樣做的好處就是實現(xiàn)程序更好的封裝。

    上面的步驟都完成以后,我們需要將person.hbm.xml文件映射到hibernate.cfg.xml文件中去,這樣才能程序找到person這個類。方法:依次執(zhí)行12。(1)右鍵單擊person.hbm.xmlàhibernate Synchronizerà Synchronizefiles 。(2右鍵單擊person.hbm.xmlàhibernate SynchronizeràAdd mapping reference

    經(jīng)過以上所有操作,我們完成了所有需要配置的文件,現(xiàn)在來編寫一個測試文件,測試我們的上述配置是否成功。新建一個JAVA文件。放在src 目錄下,在下輸入以內(nèi)容:

    package src;

    import java.util.Date;

    import java.util.Iterator;

    import org.hibernate.Session;

    import org.hibernate.SessionFactory;

    import org.hibernate.cfg.Configuration;

    public class Hello {

           /**

            *

            *

            */

           public Hello(){             

           }

           public static void main(String[] args) throws Exception{

                  Configuration cfg = new Configuration().configure();

                  SessionFactory sessionFactory = cfg.buildSessionFactory();

                  Session session = sessionFactory.openSession();

                  Person person = new Person();

                  person.setName("hejian22");

                  person.setSex("F");

                  person.setAddress("http://test.com.cn");     

                  session.save(person);

                  session.flush();

                  session.close();

    }

    }

    完成后,運(yùn)行該文件,會出現(xiàn)錯誤,經(jīng)過多番查找資料,才發(fā)現(xiàn)hibernate Synchronizer插件有一個BUG,當(dāng)我們通過add mapping filehibernate.cfg.xm.添加映射文件的時候,它會自動將hibernate.cfg.xm.的標(biāo)題部份去掉。這時只要把標(biāo)題部份寫上便可以成功執(zhí)行。

    在這里我只寫出了向數(shù)據(jù)庫中添加記錄這一項功能,其它功能可以由自己去試驗。都是最基礎(chǔ)的東西,還得繼續(xù)努力。

    總結(jié):經(jīng)過這次教訓(xùn),自己意識到一個問題,我們不能總把從網(wǎng)上找到的代碼就直接拿去運(yùn)行調(diào)試,而應(yīng)該弄清楚它的基本結(jié)構(gòu),因為可能其中存在許多問題,要想把一段代碼真正變成自己的,還是要經(jīng)過一定的探索。


     

    posted on 2007-09-29 19:17 ^小^齊^ 閱讀(847) 評論(1)  編輯  收藏 所屬分類: Hibernate

    評論

    # re: 終于把hibernate調(diào)通了,一個簡單的入門例子 2007-09-29 20:34 flyingdancing

    不錯~~~~~~  回復(fù)  更多評論   


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


    網(wǎng)站導(dǎo)航:
     
    <2007年9月>
    2627282930311
    2345678
    9101112131415
    16171819202122
    23242526272829
    30123456

    導(dǎo)航

    統(tǒng)計

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    相冊

    我喜歡去的地方

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 日本免费无遮挡吸乳视频电影| 免费A级毛片无码无遮挡内射| 免费在线观看污网站| 亚洲妇女熟BBW| 成年女人毛片免费观看97| 亚洲视频无码高清在线| 国产精品永久免费10000| 亚洲午夜在线一区| 午夜视频免费成人| 丰满亚洲大尺度无码无码专线| 国产精品视_精品国产免费| 国产亚洲精品仙踪林在线播放| 亚洲国产天堂久久综合| h视频在线观看免费| 亚洲国产精品无码一线岛国| 久久99国产综合精品免费| 亚洲精品国产第1页| 好男人视频在线观看免费看片| 青草青草视频2免费观看| 久久精品国产精品亚洲艾草网美妙| 国产日韩久久免费影院| 亚洲一区精品中文字幕| 最近中文字幕无免费视频| 青草久久精品亚洲综合专区| 在线观看亚洲精品福利片| 8x网站免费入口在线观看| 在线综合亚洲欧洲综合网站| 亚洲精品高清在线| 免费看又黄又无码的网站| 亚洲欧美熟妇综合久久久久| 亚洲午夜精品久久久久久浪潮 | 免费的黄色的网站| 亚洲午夜福利在线观看| 国产在线观看麻豆91精品免费 | 亚洲AV午夜成人影院老师机影院 | 国产免费A∨在线播放| 久久亚洲国产成人精品性色| 日韩免费高清视频| 一区二区三区无码视频免费福利| 亚洲一区二区三区在线| 国产精品亚洲精品日韩已方|