<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在线观看免费网站大全| 99久久人妻精品免费二区| 性短视频在线观看免费不卡流畅| 精品久久久久久亚洲| 一区二区三区精品高清视频免费在线播放 | 日本免费一本天堂在线| 免费一级毛片在播放视频| 美国毛片亚洲社区在线观看| 午夜一级毛片免费视频| 亚洲国产综合AV在线观看| 99精品免费视品| 亚洲精品狼友在线播放| 久久精品免费视频观看| 日本不卡高清中文字幕免费| 亚洲av色香蕉一区二区三区 | 成人男女网18免费视频| 伊人久久大香线蕉亚洲五月天| 亚洲无圣光一区二区| 一区二区三区视频免费观看| 高清在线亚洲精品国产二区| 亚洲精品在线电影| 一个人免费观看www视频在线| 亚洲一区二区三区丝袜| 久久精品人成免费| 亚洲最大成人网色香蕉| 国产精品冒白浆免费视频 | 免费观看成人久久网免费观看| 亚洲av无码一区二区三区网站| 777成影片免费观看| 亚洲一区二区三区成人网站| 免费一级毛片女人图片| 在线涩涩免费观看国产精品| 亚洲成人免费网站| 日韩a在线观看免费观看| 国产午夜精品理论片免费观看| 亚洲精选在线观看| 九九九国产精品成人免费视频| 久久亚洲国产精品一区二区| 好男人看视频免费2019中文| 国产日韩在线视频免费播放| 四虎永久免费观看|