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

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

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

    小海賊的夜晚

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      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>

            <!-- 顯示實際操作數據庫時的SQL -->
            <property name="show_sql">true</property>
            <!-- SQL方言,這里設定的是MySQL -->
            <property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property>
            <!-- JDBC驅動程式 -->
            <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("插入數據OK!請在MySQL查看結果!");
      } 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. 文件結構和所用到的jar包


     
    7. 操作結果

    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 (?, ?, ?, ?)
    插入數據OK!請在MySQL查看結果!


    評論

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

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

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

    # 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

    為什么會出現這樣的錯誤  回復  更多評論
      

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

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


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


    網站導航:
     
    主站蜘蛛池模板: 成人免费无码大片a毛片软件| 久久免费看黄a级毛片| 日本免费v片一二三区| 亚洲日韩中文字幕一区| 毛片免费视频在线观看| 亚洲日韩AV一区二区三区四区| 成年午夜视频免费观看视频| 亚洲色大成网站www永久男同| 精品久久久久久久免费加勒比| 亚洲爆乳精品无码一区二区| 又粗又硬免费毛片| 久久WWW免费人成—看片| 亚洲成AV人片在| 国产电影午夜成年免费视频| 激情内射亚洲一区二区三区爱妻| 青春禁区视频在线观看直播免费 | 全部免费国产潢色一级| 黄色网址免费在线| 亚洲色婷婷一区二区三区| 三年片在线观看免费观看大全一| 亚洲国产精品免费在线观看| 在线观看成人免费视频| 人人爽人人爽人人片A免费| 亚洲日本va在线视频观看| 91精品国产免费| 亚洲人成色99999在线观看| 亚洲精品动漫人成3d在线| 久久精品免费观看| 亚洲依依成人亚洲社区| 亚洲区不卡顿区在线观看| 91老湿机福利免费体验| 国产亚洲精品91| 亚洲精品人成在线观看| 日韩精品视频免费观看| 成人爽a毛片免费| 亚洲最大天堂无码精品区| 亚洲无人区午夜福利码高清完整版 | 免费大黄网站在线观| 在线毛片片免费观看| 国产精品亚洲专区无码牛牛 | 全部免费国产潢色一级|