Re: [站內] 簡易 Hibernate 教學
真不錯用
後來找到了兩個中文的介紹網站也蠻不錯的
http://caterpillar.onlyfun.net/Gossip/HibernateGossip/HibernateGossip.html
http://www.javaworld.com.tw/confluence/pages/viewpage.action?pageId=833
看完之後會有更深的瞭解
※ 引述《king08 (糊塗蛋)》之銘言:
: ==站內信件==
: 開發環境:
: OS :Windows XP
: Java SDK:5.0
: java IDE:Eclipse 3.11
: Database:MySQL 5.0.19
: (請到 http://dev.mysql.com/downloads/mysql/5.0.html
: 點 without installer 選項下載 mysql database
: 請到 http://dev.mysql.com/downloads/connector/j/3.1.html
: 點 zip 格式的檔案下載 mySQL 的 JDBC
: 為了管理方便請到 http://dev.mysql.com/downloads/administrator/1.1.html
: 跟 http://dev.mysql.com/downloads/query-browser/1.1.html
: 下載 mySql Administrator 跟 Query Browser
: )
: Hibernate:hibernate 3
: (請到 http://www.hibernate.org/6.htm 點Hibernate Core下載)
: Eclipse Plugins:XMLBuddy,hibernate tools,hibernate Synchronizer(可有可無)
: 開發環境準備完就可以進行開發工作
: Step 1:開起 Eclipse
: Step 2:開起一個 Java 專案
: Step 3:專案命名為 HibernateDemo(請依照你的習慣來命名)
: Step 4:起動 mysql,請在Dos視窗中mysql_home\bin下輸入 mysqld-nt --console
: Step 5:請開另一個Dos視窗在 mysql_home\bin 下輸入 mysql -u root
: Step 6:建立一個 sample 資料庫,並建一個的 user table
: SQL 語法:
: create database sample;
: create table `sample`.`user` (
: `id` int(11) not null auto_increment,
: `name` varchar(100) not null default '',
: `age` int,
: primary key (`id`)
: )engine=InnoDB;
: Step 7:準備 hibernte 需要的lib,加入Eclipse 專案建置中
: hibernate 相關的 lib
: log4j-1.2.11.jar
: antlr-2.7.6rc1.jar
: asm.jar
: cglib-2.1.3.jar
: commons-collections-2.1.1.jar
: commons-logging-1.0.4.jar
: dom4j-1.6.1.jar
: encache-1.1.jar
: jta.jar
: junit-3.8.1.jar
: hibernate3.jar
: ant.jar 此為 Ant 專案的lib
: mysql-connector-java-3.1.10-bin.jar (此為MySQL的JDBC Driver)
: Step 8:建立一個 User class
: 程式碼:
: package idv.study;
: public class User{
: private Integer id;
: private String name;
: private Integer age;
: }
: Step 9:在 User class 中建立 setter 跟 getter
: Step 10:在User.java的目錄中建立User的Mapping檔案
: User.hbm.xml程式碼:
: <?xml version="1.0" encoding="utf-8"?>
: <!DOCTYPE hibernate-mapping PUBLIC
: "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
: "" rel="nofollow">http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
: <hibernate-mapping>
: <class name="idv.study.User" table="user">
: <id name="id" column="id">
: <generator class="native" />
: </id>
: <property name="name" column="name" />
: <property name="age" column="age" />
: </class>
: </hibernate-mapping>
: Step 11:在開發者的目錄中建立hibernate config檔案
: hibernate.cfg.xml程式碼:
: <?xml version="1.0" encoding="utf-8"?>
: <!DOCTYPE hibernate-configuration PUBLIC
: "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
: "" rel="nofollow">http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
: <hibernate-configuration>
: <session-factory>
: <property name="hibernate.connection.url">
: <!--選取我們所需要的Database-->
: jdbc:mysql://localhost/sample
: </property>
: <property name="hibernate.connection.driver_class">
: <!--設定JDBC所使用的Driver-->
: org.git.mm.mysql.Driver
: </property>
: <property name="hibernate.connection.username">
: <!--設定連接DataBase所需使用的username-->
: root
: </property>
: <property name="hibernate.connection.password">
: <!--設定連接DataBase所需使用的密碼-->
: </property>
: <property name="dialect">
: <!--這行我不清楚他的用意,請版上的大大解釋一下吧-->
: org.hibernate.dialect.MySQLDialect
: </property>
: <!--選取對應到DataBase的Mapping 檔案-->
: <mapping resource="idv/study/User.hbm.xml" />
: </session-factory>
: </hibernate-configuration>
: Step 12:建立一個測試類別 UserStudyDemo
: 程式碼:
: import idv.study.User;
: import org.hibernate.*;
: import org.hibernate.cfg.*;
: public class UserStudyDemo {
: public static void main(String[] args) {
: // 讀取hibernate config 檔案
: Configuration configuration = new Configuration().configure();
: Session session = configuration.buildSessionFactory().openSession();
: Transaction tx = session.beginTranscation();
: // 建立使用者
: User user = new User();
: user.setAge(new Integer(20));
: user.setName("King");
: // 將使用者資訊存入 session 中
: session.save(user);
: // 判斷資料是否相等
: User user2 = (User) session.get(User.class,user.getId());
: System.out.print(user2.getName().equals(user.getName()));
: // 將 session 資料存入資料庫
: tx.commit();
: session.close();
: }
: }
: Step 13:將 hibernate/etc 目錄中的log4j.properties 放入專案
: 的 src 下面
: Step 14:完成之後去資料庫查看有沒有將User的資料存入資料庫中
: 在Dos視窗mysql_home\bin目錄下輸入:mysql -u root
: 進入 mysql 中,
: 會看到畫面為 mysql>
: 在此畫面中輸入:select * from `sample`.`user`;
: 接著就會看到剛剛利用 UserStudyDemo 存入的資料
: 參考文獻:
: 良葛格的 Spring 技術手冊 碁峰出版 作者:林信良 出版年月:2006.3
: 深入淺出 Hibernate 博碩出版 作者: 夏昕 曹曉鋼 唐勇 出版年月:2006.1
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.132.7.86
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):