操作系統:window8
數據庫版本:mysql-installer-community-5.6.17.0(安裝版)
jdbc版本:mysql-connector-java-5.1.30-bin
hibernate版本:hibernate-release-4.2.3.Final
下面是具體操作:
1.首先在eclipse中新建項目hibernatedemo
2.解壓hibernate-release-4.2.3.Final將里面lib/required中的的包直接復制到WEB-INF/lib文件夾下同時將jdbc驅動也復制到此文件夾下如下圖(注:也可通過eclipse中project選項 properties中的java build path導入)
3.在eclipse中新建數據庫example在創建表person代碼如下:
create table person(
id int(11) not null auto_increment primary key,
name varchar(100) not null default '',
age int)
4.創建持久化類person.java代碼如下:
package hibernate4.object;
public class person {
private Integer id;
private String name;
private Integer age;
public person(){}
public Integer getId(){
return id;
}
public void setId(Integer id){
this.id=id;}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public Integer getAge(){
return age;
}
public void setAge(Integer age){
this.age=age;
}
public String toString(){
return "person:[id="+id+";name="+name+";age="+age+"]";
}
}
5.編寫映射文件person.hbm.xml代碼如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="hibernate4.object.person" table="person">
<id name="id" column="id" type="java.lang.Integer">
<generator class="native"/>
</id>
<property name="name" column="name" type="java.lang.String"/>
<property name="age" column="age" type="java.lang.Integer"/>
</class>
</hibernate-mapping>
6.編寫hibernate配置文件hibernate.cfg.xml代碼如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="show_sql">true</property>
<property name="connection.url">
jdbc:mysql://127.0.0.1:3306/example
</property>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="connection.username">root</property>
<property name="connection.password">Scorpio19920204</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<mapping resource="person.hbm.xml"/>
</session-factory>
</hibernate-configuration>
7.編寫測試文件FirstHibernate.java代碼如下:
package hibernate4.object;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;
import hibernate4.object.person;
public class FirstHibernate {
public static void main(String args[]){
person person=new person();
person.setName("neo");
person.setAge(20);
Configuration cfg = new Configuration();
cfg.configure();
//SessionFactory sf=cfg.configure().buildSessionFactory();//*過期方法*解析Hibernate.cfg.xml 然后返回一個已經擁有配置選項的Configuration
ServiceRegistry sr=new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry();
//SessionFactory類似數據庫庫的一個Connection
SessionFactory sf =cfg.buildSessionFactory(sr);
//打開一個連接
Session session =sf.openSession();
//開始一個事務
session.beginTransaction();
session.save(person);
//獲得一個事務,並提交
session.getTransaction().commit();
//關閉連接
session.close();
//關閉工廠
sf.close();
}
}
8.運行測試,啟動mysql數據庫並運行FirstHibernate.java文件運行結果如下:
數據庫中顯示如下:
學習感悟:
在學習過程中遇到了許多問題,由於參考書上內容一些代碼過舊所以在操作過程中遇到了許多問題,但是還好通過上網搜索相關資料都一一解決了,也從中也學到了許多新的知識。