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


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


    網站導航:
     
    主站蜘蛛池模板: 97se亚洲国产综合自在线| 久久精品国产亚洲| 亚洲人成小说网站色| 57pao一国产成永久免费| 91亚洲一区二区在线观看不卡| a级特黄毛片免费观看| 国产亚洲一区二区精品| 欧洲人成在线免费| 亚洲A∨无码一区二区三区| 亚洲电影免费在线观看| 精品日韩亚洲AV无码| 亚洲天堂免费在线| 亚洲一线产区二线产区区| 精品剧情v国产在免费线观看| 在线亚洲精品视频| 国产亚洲一区二区三区在线不卡| 9久热精品免费观看视频| 亚洲日本乱码在线观看| 69视频在线是免费观看| 国产成人亚洲精品| 又粗又黄又猛又爽大片免费| 精品多毛少妇人妻AV免费久久| 亚洲成A人片在线观看无码不卡| 51视频精品全部免费最新| 亚洲一区二区三区播放在线| 日韩中文无码有码免费视频 | 亚洲熟妇av一区| 免费无码肉片在线观看| 国产亚洲综合久久| 国产亚洲精AA在线观看SEE| 精品免费人成视频app | 337p日本欧洲亚洲大胆色噜噜 | 亚洲黄色免费网址| 亚洲AV综合永久无码精品天堂| ZZIJZZIJ亚洲日本少妇JIZJIZ| 香港a毛片免费观看 | 久久精品国产精品亚洲精品| 国产91免费在线观看| 特a级免费高清黄色片| 亚洲精品国产免费| 亚洲国产成人久久精品99|