hibernate框架的搭建
hibernate下載地址:
https://sourceforge.net/projects/hibernate/files/hibernate3/
官網(wǎng) http://in.relation.to/hibernate-orm/
MVC
ORM對象關(guān)系映射
關(guān)系型數(shù)據(jù)庫
表 關(guān)系
對象 --- 關(guān)系
Object --- Relation
類 ---- 表
屬性 --- 列
對象 --- 記錄
ORM對象關(guān)系映射
關(guān)系型數(shù)據(jù)庫
表 關(guān)系
對象 關(guān)系 映射
Object Relation Mapping
類 表 xml
屬性 列
對象 記錄
框架的學(xué)習(xí)
1.獲取hibernate發(fā)布包 點此鏈接進(jìn)行下載 hibernate3.6.10
github(李納斯 linux 鳥哥的linux私房菜)
開源托管器
struts2
hibernate
spring
sublime
前端
angularjs
bootstrap
...
springmvc spring jdbc 例子
www.github.com/pluslicy
svn
牛是怎么定義的!!!
maven
項目管理工具
管理所有的jar
xml
hibernate3
2.將hibernate依賴的jar集成到week1項目中
- 解壓:hibernate-distribution-3.6.10.Final御雕。
- 里面hibernate3.jar是主要的jar包(lib目錄下的是它所依賴的其他的jar包):
- lib目錄下的required文件夾和jpa文件夾的所有jar包也是需要的提佣。(這三個地方的jar包都要導(dǎo)入到項目中磷蛹,當(dāng)然還要一個jdbc驅(qū)動包一共9個包)
week1
jar
驅(qū)動包
hibernate3.jar
lib/required/*.jar
lib/jpa/*.jar
3.將hibernate依賴的配置文件加入到項目中
hibernate.cfg.xml 配置文件
***.hbm.xml 映射文件()
xml dtd(限制xml的輸入瞳别,給程序員提示)
<class>
</class>
dtd文件 在hibernate3.jar目錄下的org有hibernate-mapping-3.0.dtd和hibernate-configuration-3.0.dtd將這兩個文件復(fù)制到自己項目week1新建的folder dtd.
- 打開hibernate-mapping-3.0.dtd這個文件復(fù)制3-5行
- 右擊src新建xml文件命名為:hibernate.cfg.xml(一定要命名這個)
- 然后將復(fù)制的粘貼到下面轩触。當(dāng)按下<如果沒有提示就要配置dtd(手動關(guān)聯(lián))忙灼。
- 手動關(guān)聯(lián):首先復(fù)制剛剛粘貼到xml文件的那三行代碼最后一行里“”的內(nèi)容匠襟。
- 然后點window的首先項。刷選寫上xml可以看到有個XML Catalog
- 選中之后再選中User Specified Entries 點擊add该园。
- 在這個界面中:
- catalog Entry中key就是粘貼剛剛復(fù)制的酸舍。
- Key type選擇URI
- localtion就是選擇hibernate-configuration-3.0.dtd所在的位置.按下ok之后就可以有自動提示了。
-
里面寫的內(nèi)容有個模板可以看里初。
模板位置在:documentation目錄下manual目錄下的zh-CN(中文版):
里面有pdf文檔可以查看啃勉,我們在html目錄下找到index.html。
在api中:1.1.4. Hibernate配置將這個章節(jié)的代碼復(fù)制到hibernate.cfg.xml該文件中双妨。
-
當(dāng)然還需要做一些修改:
修改代碼如下:<?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> <!-- Database connection settings --> <property name="connection.driver_class">com.mysql.jdbc.driver</property> <property name="connection.url">jdbc:mysql://127.0.0.1:3306/tbl_student</property> <property name="connection.username">root</property> <property name="connection.password">13870775439z</property> <!-- SQL dialect --> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <!-- Echo all executed SQL to stdout --> <property name="show_sql">true</property> <!-- Drop and re-create the database schema on startup --> <property name="hbm2ddl.auto">update</property>//這里是自動建表 <mapping resource="com/zts/day04/basic/user.hbm.xml" />//將映射文件導(dǎo)入進(jìn)來淮阐。點住ctrl鍵鼠標(biāo)移到這有超鏈接說明沒寫錯 </session-factory> </hibernate-configuration>
4.將映射文件集成到配置文件中
- 在src新建一個com.zts.day04.basic包
- 新建一User class并且實現(xiàn)序列化接口給一些屬性(自動生成set,get叮阅,和無參,全參泣特,tostring)
private Long id;
private String name;
private Double account;
private Date birthday;
- 每一個pogo類都對應(yīng)一個映射文件浩姥。所以我們在該目錄下右擊新建一個xml并且命名為:user.hbm.xml(一定要這么寫)。
- 在里面還是必須先聲明DOCTYPE状您。打開hibernate-mapping-3.0.dtd復(fù)制3-5行即可及刻。
- 接下來如果按快捷鍵還是沒提示就自己在配置一下。和上面方法一樣找到XML Catlog.....竞阐。
- 里面要寫內(nèi)容也有模板。在api的1.2.1. 映射 Person 類將里面代碼復(fù)制到該文件中暑劝。代碼如下:
<?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 package="com.zts.day04.basic">
<class name="User" table="tbl_user">
<id name="id" column="id">
<generator class="increment" />//主鍵生成機(jī)制
</id>
<property name="name" />//column=“name”默認(rèn)的
<property name="account" />
<property name="birthday" />
</class>
</hibernate-mapping>
//測試類 (運行之后可以在mysql可視化工具中查看產(chǎn)生的表名和屬性即代表成功)
package com.zts.day04.basic;
import java.util.Date;
import org.hibernate.Hibernate;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public class Test {
public static void main(String[] args) {
Configuration config=new Configuration();
config.configure();//讀取配置文件
SessionFactory factory=config.buildSessionFactory();
Session session=factory.openSession();
Transaction transaction = session.beginTransaction();
session.save(new User(null, "zts", 1000.0, new Date()));
transaction.commit();
}
}