<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  回復  更多評論
      


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


    網站導航:
     
    主站蜘蛛池模板: 亚洲人成在线电影| 国产天堂亚洲国产碰碰| 精品免费国产一区二区| 人体大胆做受免费视频| 亚洲AV无码欧洲AV无码网站| 免费看美女裸露无档网站| 校园亚洲春色另类小说合集| 亚洲色偷拍另类无码专区| 国产va免费精品观看精品| 美女隐私免费视频看| 亚洲AV永久无码精品成人| 天天摸天天操免费播放小视频| A级毛片成人网站免费看| 亚洲蜜芽在线精品一区| 亚洲成av人片一区二区三区| 永久免费视频网站在线观看| 美女一级毛片免费观看| 亚洲av激情无码专区在线播放| 成人毛片18女人毛片免费视频未| 99在线免费视频| 亚洲欧洲av综合色无码| 亚洲高清在线播放| 国产三级电影免费观看| xxxxwww免费| 中文在线免费观看| 亚洲午夜精品久久久久久app| 国产成人亚洲精品青草天美| 国产美女精品久久久久久久免费| 一级毛片成人免费看免费不卡| 免费人成大片在线观看播放电影| 亚洲乱码卡三乱码新区| 亚洲精品无码久久一线| 在线观看亚洲免费视频| 无遮免费网站在线入口| 精品国产污污免费网站| 色费女人18女人毛片免费视频| 亚洲乱码一二三四区国产| 亚洲第一AAAAA片| 免费在线不卡视频| 精品国产免费观看| 18禁网站免费无遮挡无码中文|