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

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

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

    小海賊的夜晚

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      14 隨筆 :: 0 文章 :: 9 評論 :: 0 Trackbacks

    這是一個簡單的例子

    1. 在mySQL中建立一張USER表。

    CREATE TABLE USER (
        user_id CHAR(32) NOT NULL PRIMARY KEY,
        name VARCHAR(16) NOT NULL,
        sex CHAR(1),
        age INT
    );

    2. 建立一個pojo

    package com.xy;

    public class User {
        private String id;
        private String name;
        private char sex;
        private int age;

        public int getAge() {
            return age;
        }

        public String getId() {
            return id;
        }

        public String getName() {
            return name;
        }

        public char getSex() {
            return sex;
        }

        public void setAge(int i) {
            age = i;
        }

        public void setId(String string) {
            id = string;
        }

        public void setName(String string) {
            name = string;
        }

        public void setSex(char c) {
            sex = c;
        }
    }

    3. hibernate.cfg.xml文件

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

    <hibernate-configuration>

        <session-factory>

            <!-- 顯示實際操作數(shù)據(jù)庫時的SQL -->
            <property name="show_sql">true</property>
            <!-- SQL方言,這里設(shè)定的是MySQL -->
            <property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property>
            <!-- JDBC驅(qū)動程式 -->
            <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
            <!-- JDBC URL -->
            <property name="connection.url">jdbc:mysql://localhost/jiejie</property>
            <!-- 用戶名 -->
            <property name="connection.username">root</property>
            <!-- 密碼-->
            <property name="connection.password"></property>

            <!-- 映射文件 -->
            <mapping resource="User.hbm.xml"/>

        </session-factory>

    </hibernate-configuration>

    4. User.hbm.xml

    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping
        PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
        "

    <hibernate-mapping>

        <class name="com.xy.User" table="USER">

            <id name="id" type="string" unsaved-value="null">
                <column name="user_id" sql-type="char(32)" />
                <generator class="uuid.hex"/>
            </id>

            <property name="name" type="string" not-null="true">
                <column name="name" length="16" not-null="true"/>
            </property>

            <property name="sex" type="char"/>

            <property name="age" type="int"/>

        </class>

    </hibernate-mapping>

    5. 測試文件

    package com.xy;

    import java.util.List;
    import java.util.ListIterator;

    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;

    import net.sf.hibernate.*;
    import net.sf.hibernate.cfg.*;

    public class HibernateTest {
     private static Log log = LogFactory.getLog(HibernateTest.class);
     public void find() {
      SessionFactory sessionFactory;
      try {
       sessionFactory = new Configuration().configure()
         .buildSessionFactory();

       Session session = sessionFactory.openSession();

       List users = session.find("from User");

       session.close();
       sessionFactory.close();

       for (ListIterator iterator = users.listIterator(); iterator
         .hasNext();) {
        User user = (User) iterator.next();
        System.out.println(user.getName() + "\n\tAge: " + user.getAge()
          + "\n\tSex: " + user.getSex());
       }
      } catch (HibernateException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }

     }

     public void insert() {

      SessionFactory sessionFactory;
      try {
       sessionFactory = new Configuration().configure()
         .buildSessionFactory();

       User user = new User();
       user.setName("caterpillar");
       user.setSex('M');
       user.setAge(23);

       Session session = sessionFactory.openSession();
       Transaction tx = session.beginTransaction();
       session.save(user);
       tx.commit();
       session.close();
       sessionFactory.close();

       System.out.println("插入數(shù)據(jù)OK!請在MySQL查看結(jié)果!");
      } catch (HibernateException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }
     }

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

      new HibernateTest().find();
      new HibernateTest().insert();

     }
    }

    6. 文件結(jié)構(gòu)和所用到的jar包


     
    7. 操作結(jié)果

    log4j:WARN No appenders could be found for logger (net.sf.hibernate.cfg.Environment).
    log4j:WARN Please initialize the log4j system properly.
    Hibernate: select user0_.user_id as user_id, user0_.name as name, user0_.sex as sex, user0_.age as age from USER user0_
    caterpillar
     Age: 28
     Sex: M
    caterpillar
     Age: 28
     Sex: M
    caterpillar
     Age: 28
     Sex: M
    caterpillar
     Age: 23
     Sex: M
    qqqqq
     Age: 20
     Sex: M
    www
     Age: 21
     Sex: M
    yyy
     Age: 20
     Sex: M
    yyy
     Age: 20
     Sex: M
    yyy
     Age: 20
     Sex: M
    yyy
     Age: 20
     Sex: M
    Hibernate: insert into USER (name, sex, age, user_id) values (?, ?, ?, ?)
    插入數(shù)據(jù)OK!請在MySQL查看結(jié)果!


    評論

    # re: 第一個Hibernate例子 2005-09-07 16:21 jingchh
    調(diào)試不通 ,老大  回復(fù)  更多評論
      

    # re: 第一個Hibernate例子 2005-09-19 11:54 海賊
    報什么錯?  回復(fù)  更多評論
      

    # re: 第一個Hibernate例子 2006-10-11 08:58 暗暗
    List users = session.find("from User");
    應(yīng)該改成List users = session.createQuery("from User").list();
    下邊在改
      回復(fù)  更多評論
      

    # re: 第一個Hibernate例子 2007-01-17 14:46 fanf
    D:\resin-3.0.18\webapps\test\WebRoot\WEB-INF\classes>java com.netease.test.MyTes
    t
    Exception in thread "main" java.lang.NoClassDefFoundError: org/hibernate/HibernateException

    為什么會出現(xiàn)這樣的錯誤  回復(fù)  更多評論
      

    # re: 第一個Hibernate例子[未登錄] 2007-08-08 00:05 sky
    注意hibernate的版本:net.sf.hibernate.dialect.MySQLDialect是以前的,現(xiàn)在用org.hibernate.dialect.MySQLDialect等 你查看下hibernate包里面的hibernate.properties找到MySQL,你就清楚了。。。好像有三個  回復(fù)  更多評論
      

    # re: 第一個Hibernate例子 2009-08-05 17:16 orz
    大贊。。跑起來了。。。改了半天發(fā)現(xiàn)只要把"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
    改成"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    大贊lz  回復(fù)  更多評論
      


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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲欧洲日产国码av系列天堂| 四虎在线视频免费观看| 亚洲最大av无码网址| 亚洲av乱码一区二区三区按摩| 最近免费中文字幕4| 亚洲色欲色欲www| 国产免费看JIZZ视频| 亚洲中文字幕日本无线码| 成视频年人黄网站免费视频| 亚洲人成影院在线高清| 性做久久久久免费观看| 亚洲色大情网站www| 国产一级婬片A视频免费观看| 亚洲高清无码专区视频| 国产高潮久久免费观看| 亚洲深深色噜噜狠狠爱网站| 成全视频免费观看在线看| 亚洲va在线va天堂va888www| 91视频免费网址| 亚洲娇小性色xxxx| 日韩免费高清一级毛片在线| 五月天国产成人AV免费观看| 国产成人亚洲精品狼色在线| 在线看片免费人成视频久网下载 | 成人影片一区免费观看 | 亚洲另类古典武侠| 国产福利在线观看免费第一福利| 亚洲国产精品无码久久98| 免费大香伊蕉在人线国产| 一级成人a免费视频| 亚洲AV日韩AV永久无码下载| 日本免费网址大全在线观看| 亚洲AV日韩AV一区二区三曲| 亚洲一区爱区精品无码| 98精品全国免费观看视频| 亚洲综合国产成人丁香五月激情 | 99久久久国产精品免费蜜臀| 国产成人精品日本亚洲直接| 亚洲国产精品无码久久九九| 久章草在线精品视频免费观看| 亚洲精品福利你懂|