Hibernate的基礎(chǔ)配置
系統(tǒng)
1954 0
1)
MySQL
客戶(hù)端的工具使用
?
SQLyog?Ultimate?9.3.3?
簡(jiǎn)體中文正式版
圖形界面:
<!--?
????
寫(xiě)update只是更新操作,也可以寫(xiě)create,?這樣寫(xiě)create的話(huà)程序運(yùn)行的時(shí)候就會(huì)把數(shù)據(jù)庫(kù)里的內(nèi)容全部刪除并且重新創(chuàng)建
,
當(dāng)然,前提是數(shù)據(jù)庫(kù)必須存在,因?yàn)?
hibernate
只會(huì)創(chuàng)建表結(jié)構(gòu),?不會(huì)創(chuàng)建數(shù)據(jù)庫(kù),如果指定的數(shù)據(jù)庫(kù)不存在,
hibernate
則會(huì)拋出異常?-->
?
<
property
?
name
=
"hbm2ddl.auto"
>
update
</
property
>
??
|
在做分析和設(shè)計(jì)的時(shí)候:先建立表結(jié)構(gòu),在建立類(lèi),類(lèi)和類(lèi)之間是有關(guān)系的,關(guān)系體現(xiàn)在方法上面。
2)
搭建日志環(huán)境顯示
DDL
語(yǔ)句
日志大搭建在上文已經(jīng)有解決方案了。
<
property
?
name
=
"show_sql"
>
true
</
property
>
顯示輸出
SQL
語(yǔ)句
<
property
?
name
=
"format_sql"
>
true
</
property
>
|
顯示輸出
SQL
格式
|
3)
字段和屬性的對(duì)應(yīng)
注解:都需要位于
javax.persistence
.*;
可以使用
@Entity
A)
表名和類(lèi)名不同,對(duì)類(lèi)名進(jìn)行配置
表名和類(lèi)中定義的名稱(chēng)不同使用
@Table(name="table_name")
?
private
?String?
user_id
;
???
//@使用注解?annotation
???
@Entity
?
???
@Table
(name=
"admin_log"
)
????
public
?
class
?Ith_Admin_Log?{
????}
|
B
)
字段名和屬性相同
C)
字段名和屬性不同
字段名和表中的字段名不同使用
@Column(name="xxx")
,
不用寫(xiě)
@column?
與
默認(rèn)
的
@Basic
效果一樣
?
Xml
中不用寫(xiě)
?column
private
?String?
user_id
;
????
@Column
(name=
"add_user"
)
public
?String?getUser_id()?{
return
?
user_id
;
}
public
?
void
?setUser_id(String?user_id)?{
this
.
user_id
?=?user_id;
}
|
D)
不需要持久化字段:
@Transient?(transient)
透明的
?
定義
@transient
注解屬性是透明的,數(shù)據(jù)庫(kù)無(wú)需知道定義
注解使用日期可以使用
@Temportal(TemportalType.DATE)
H
ibernate?annotation
字段映射位置,應(yīng)該放在
get
上面
為什么不加屬性上面。因?yàn)閷傩员旧砭褪撬接械模接械谋旧砭筒恍枰獎(jiǎng)e人調(diào)用。
Annotation
:
@Temporal(
參數(shù)
)?
參數(shù)有
3
種
?
只顯示時(shí)間
,
只顯示日期
,
時(shí)間日期都顯示
//@Temporal(TemporalType.DATE)??
只顯示日期
//@Temporal(TemporalType.TIME)??
只顯示時(shí)間
//@Temporal(TemporalType.TIMESTAMP)??
顯示日期與時(shí)間
X
ml:
指定
?type
<class?name="Teacher"?table="Teacher"?>
<id?name="id"?column="id"></id>
<property?name="name"?type="
time
"?/>
</class>
|
?
private
?Date???
add_date
;
@Temporal
(TemporalType.
DATE
)
public
?Date?getAdd_date()?{
return
?
add_date
;
}
public
?
void
?setAdd_date(Date?add_date)?{
this
.
add_date
?=?add_date;
?????
}
|
|
E
映射枚舉類(lèi)型
(?
比較少用
)
a)?
@Enumerated
@Enumerated(EnumType.ORDINAL)?
枚舉類(lèi)型按位置數(shù)
,
如
:0,1,2?...
存儲(chǔ)
@Enumerated(EnumType.
STRING
)??
枚舉類(lèi)型按設(shè)定值存儲(chǔ)
DB
xml:
麻煩
<!--EndFragment-->
Hibernate的基礎(chǔ)配置
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元