作者NightPrince (shooting star)
看板java
标题Re: [站内] 简易 Hibernate 教学
时间Sun Apr 2 19:10:00 2006
真不错用
後来找到了两个中文的介绍网站也蛮不错的
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"
: "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"
: "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