Hibernate的基礎配置
系統
1879 0
1)
MySQL
客戶端的工具使用
?
SQLyog?Ultimate?9.3.3?
簡體中文正式版
圖形界面:
<!--?
????
寫update只是更新操作,也可以寫create,?這樣寫create的話程序運行的時候就會把數據庫里的內容全部刪除并且重新創建
,
當然,前提是數據庫必須存在,因為
hibernate
只會創建表結構,?不會創建數據庫,如果指定的數據庫不存在,
hibernate
則會拋出異常?-->
?
<
property
?
name
=
"hbm2ddl.auto"
>
update
</
property
>
??
|
在做分析和設計的時候:先建立表結構,在建立類,類和類之間是有關系的,關系體現在方法上面。
2)
搭建日志環境顯示
DDL
語句
日志大搭建在上文已經有解決方案了。
<
property
?
name
=
"show_sql"
>
true
</
property
>
顯示輸出
SQL
語句
<
property
?
name
=
"format_sql"
>
true
</
property
>
|
顯示輸出
SQL
格式
|
3)
字段和屬性的對應
注解:都需要位于
javax.persistence
.*;
可以使用
@Entity
A)
表名和類名不同,對類名進行配置
表名和類中定義的名稱不同使用
@Table(name="table_name")
?
private
?String?
user_id
;
???
//@使用注解?annotation
???
@Entity
?
???
@Table
(name=
"admin_log"
)
????
public
?
class
?Ith_Admin_Log?{
????}
|
B
)
字段名和屬性相同
C)
字段名和屬性不同
字段名和表中的字段名不同使用
@Column(name="xxx")
,
不用寫
@column?
與
默認
的
@Basic
效果一樣
?
Xml
中不用寫
?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
注解屬性是透明的,數據庫無需知道定義
注解使用日期可以使用
@Temportal(TemportalType.DATE)
H
ibernate?annotation
字段映射位置,應該放在
get
上面
為什么不加屬性上面。因為屬性本身就是私有的,私有的本身就不需要別人調用。
Annotation
:
@Temporal(
參數
)?
參數有
3
種
?
只顯示時間
,
只顯示日期
,
時間日期都顯示
//@Temporal(TemporalType.DATE)??
只顯示日期
//@Temporal(TemporalType.TIME)??
只顯示時間
//@Temporal(TemporalType.TIMESTAMP)??
顯示日期與時間
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
映射枚舉類型
(?
比較少用
)
a)?
@Enumerated
@Enumerated(EnumType.ORDINAL)?
枚舉類型按位置數
,
如
:0,1,2?...
存儲
@Enumerated(EnumType.
STRING
)??
枚舉類型按設定值存儲
DB
xml:
麻煩
<!--EndFragment-->
Hibernate的基礎配置
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元