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

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

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

    第一個(gè)hibernate例子終于調(diào)試出來(lái)了

          很開(kāi)心,直到昨天晚上,我的第一個(gè)hibernate例子才成功,之前大概經(jīng)歷了1周以上的時(shí)間,沒(méi)辦法,我比較笨。
          在這里,我要記錄一下幾個(gè)一直困擾我,直到昨天才解決的問(wèn)題,也是很多初學(xué)者會(huì)遇到的問(wèn)題,希望能給更多的初學(xué)者一些提示,少走彎路。
          我用了eclipse3.1.1和myeclipse4.01,不過(guò)我覺(jué)得初學(xué)乍練還是不要用這樣的工具,最好是一步一步的,有利于你對(duì)hibernate的理解,對(duì)于我這樣子想要急于看到成果的,用個(gè)方便的ide也是不錯(cuò)的選擇,廢話不說(shuō)了,開(kāi)始正題。
          對(duì)于myeclipse的配置和使用,請(qǐng)大家到網(wǎng)上查閱,這里不再贅述。
          首先,在eclipse里面創(chuàng)建一個(gè)web project,并且給這個(gè)項(xiàng)目add hibernate capabilities,一切設(shè)置保持默認(rèn)就好,這樣之后你的項(xiàng)目就已經(jīng)具備了hibernate的功能,接下來(lái)應(yīng)該進(jìn)行hibernate.cfg.xml的配置了,這一步實(shí)際上是連接數(shù)據(jù)庫(kù)。我把我的配置文件粘貼在下面:

    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE hibernate-configuration PUBLIC
              "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
              "

    <!-- Generated by MyEclipse Hibernate Tools.                   -->
    <hibernate-configuration>

    <session-factory>
     <property name="myeclipse.connection.profile">thin</property>
     <!-- JDBC驅(qū)動(dòng)程序 -->
     <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
     <!-- JDBC URL -->
     <property name="connection.url">jdbc:oracle:thin:@127.0.0.1:1521:test</property>
     <!-- 數(shù)據(jù)庫(kù)用戶(hù)名 -->
     <property name="connection.username">test</property>
     <!-- 數(shù)據(jù)庫(kù)密碼 -->
     <property name="connection.password">test</property>
    <!-- sql的方言,不同db的sql略有不同 -->
     <property name="dialect">org.hibernate.dialect.OracleDialect</property>
    <!-- 后臺(tái)顯示sql語(yǔ)句,主要是調(diào)試用-->
     <property name="show_sql">ture</property>

    </session-factory>

    </hibernate-configuration>

    現(xiàn)在你可以切換到eclipse的db視圖了,在那里你可以creat hibernate mapping,這樣,會(huì)自動(dòng)的生成pojo,并且更新hibernate.cfg.xml。
          這個(gè)過(guò)程十分簡(jiǎn)單,選擇好pojo的包,然后鼠標(biāo)輕輕一點(diǎn)就會(huì)完成。
          接下來(lái)是編寫(xiě)一個(gè)測(cè)試頁(yè)了,這里我只做了一個(gè)select頁(yè)面,里面的代碼:
    <%@ page language="java" import="hiber.*,org.hibernate.*,org.hibernate.cfg.*,java.util.*" pageEncoding="UTF-8"%>
    <!--hiber.*是這個(gè)項(xiàng)目pojo的包-->
    <%
    String path = request.getContextPath();
    String basePath =
    request.getScheme()
    +"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>test hibernate</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
    </head>
    <body>
    <%
            Session ses 
    = null;
            try{
                SessionFactory sf
    =new Configuration().configure().buildSessionFactory();
                ses
    =sf.openSession();
                Query query
    =ses.createQuery("select t from Yhzd t");//這個(gè)的地方需要特別注意,這里的Yhzd是類(lèi)名,不是表名,所以
                                                                                                                //如果換成寫(xiě)就會(huì)出錯(cuò)誤,而且不能使用select * ,這里返回的
                                                                                                                // 查詢(xún)結(jié)果也是類(lèi)的list
                List list
    =query.list();
                out.print(
    "list's size is"+list.size()+" <br>");
                Iterator it
    =list.iterator();
                
    while(it.hasNext()){
                    //下面是我數(shù)據(jù)庫(kù)中的表,可以根據(jù)你的數(shù)據(jù)庫(kù)來(lái)改寫(xiě)
                    Yhzd yhzd = (Yhzd)it.next();//這個(gè)地方卡了我很久,就是這個(gè)轉(zhuǎn)換,因?yàn)楫?dāng)初我用了select id from Yhzd t,而id本身不                                                                  //是一個(gè)yhzd的類(lèi),所以無(wú)法轉(zhuǎn)換。

                    out.println(
    "name=="+yhzd.getYhmc()+"   "+"yhlx=="+yhzd.getYhlx()+" <br>");
                }
            }catch(HibernateException e){
                out.print(
    "error!!!!!!!!!!!!");
                e.printStackTrace();
            }finally{
                
    if(ses != null) ses.close();
            }
    %>
    </body>
    </html>
    整個(gè)例子完成了,由于時(shí)間比較少,所以沒(méi)有做add ,edit 和delete,如果哪位朋友想要的話可以留言聯(lián)系,我會(huì)盡快完成的。

    評(píng)論

    # re: 第一個(gè)hibernate例子終于調(diào)試出來(lái)了 2006-01-05 09:10 我特Java  回復(fù)  更多評(píng)論   

    頂,為你喝彩!

    # re: 第一個(gè)hibernate例子終于調(diào)試出來(lái)了 2006-01-05 11:32 sunny  回復(fù)  更多評(píng)論   

    呵呵,謝謝樓上哦

    # re: 第一個(gè)hibernate例子終于調(diào)試出來(lái)了 2006-01-06 10:28 cnsdl  回復(fù)  更多評(píng)論   

    hibernate很好的,我用了幾個(gè)月了感覺(jué)真不錯(cuò)

    # re: 第一個(gè)hibernate例子終于調(diào)試出來(lái)了 2006-01-06 12:04 sunny  回復(fù)  更多評(píng)論   

    cnsdl,你好,hibernate是很好用,我正在啃書(shū),嘿嘿,不過(guò)目前來(lái)說(shuō)我是配合這struts一起學(xué)習(xí)的,感覺(jué)struts在充當(dāng)視圖的方面還是很不錯(cuò)滴

    # re: 第一個(gè)hibernate例子終于調(diào)試出來(lái)了 2006-01-09 18:03 angle  回復(fù)  更多評(píng)論   

    你好,不知道DB試圖怎么配得,我配不出來(lái),你能寫(xiě)個(gè)詳細(xì)的介紹及貼圖嗎?

    # re: 第一個(gè)hibernate例子終于調(diào)試出來(lái)了 2006-01-09 19:47 sunny  回復(fù)  更多評(píng)論   

    to angle,這個(gè)blog空間的附件上傳空間有限,我沒(méi)有辦法上傳太多的圖片,所以只能發(fā)一些文字性的東西,不過(guò)我這里不少資料,你可以參閱一下
    26879827 我的qq,申請(qǐng)時(shí)請(qǐng)注明 sunny的小屋,我會(huì)盡力幫你的,因?yàn)槲乙彩切率郑黄饘W(xué)習(xí)

    # re: 第一個(gè)hibernate例子終于調(diào)試出來(lái)了 2008-09-02 14:45   回復(fù)  更多評(píng)論   

    兄弟,恭喜,不過(guò)最好不要在jsp中寫(xiě)一些連接數(shù)據(jù)庫(kù)的語(yǔ)句,如果把他們放在一個(gè)javabean就更好了!!!

    # re: 第一個(gè)hibernate例子終于調(diào)試出來(lái)了 2008-12-18 15:44 游客  回復(fù)  更多評(píng)論   

    樓上多的對(duì),別把代碼寫(xiě)到JSP 里面,都什么年代了

    # re: 第一個(gè)hibernate例子終于調(diào)試出來(lái)了[未登錄](méi) 2009-10-27 13:39 小魚(yú)  回復(fù)  更多評(píng)論   

    謝謝,很有啟發(fā)
    主站蜘蛛池模板: 亚洲VA中文字幕不卡无码| 亚洲精品91在线| 182tv免费观看在线视频| 男人的天堂网免费网站| 亚洲精品免费在线观看| 无码国产精品久久一区免费 | 亚洲av永久无码精品表情包| 69免费视频大片| 国产精品亚洲色婷婷99久久精品| 中文字幕人成人乱码亚洲电影 | 亚洲精品视频在线观看视频| 在线观着免费观看国产黄| 叮咚影视在线观看免费完整版| 亚洲天堂2016| 精品国产亚洲一区二区三区| 无码视频免费一区二三区| aa级毛片毛片免费观看久| 亚洲一本一道一区二区三区| 亚洲成a人片77777kkkk| 男女一进一出抽搐免费视频| 亚洲一级免费毛片| 中文字幕亚洲一区二区va在线| 日韩毛片免费无码无毒视频观看| 亚洲一级毛片免观看| 亚洲精品二区国产综合野狼 | 亚洲AV第一页国产精品| 日本不卡免费新一二三区| 日日麻批免费40分钟无码| 特级一级毛片免费看| 亚洲人成网国产最新在线| 久久精品亚洲视频| 亚洲av区一区二区三| 久久九九免费高清视频| 亚洲人成色99999在线观看| 波多野结衣视频在线免费观看| 国产又大又粗又长免费视频| 国产免费阿v精品视频网址| 精品一区二区三区免费毛片| 日本亚洲色大成网站www久久 | 美女尿口扒开图片免费| 亚洲一区二区三区91|