Maven
安裝
http://maven.apache.org/download.cgi
下載apache-maven-3.3.9-bin.zip
直接解壓縮
配置環(huán)境變量
用戶變量
M2_HOME D:\apache-maven-3.3.9
PATH D:\apache-maven-3.3.9\bin
cmd界面操控
檢查mvn成功 mvn -v
生成普通java項(xiàng)目
mvn archetype:generate -DgroupId=com.kygo -DartifactId=hibdemo -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
阿里
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
Hibernate第002天
hibernate創(chuàng)建實(shí)體類
1.類型使用對(duì)象
2.必須要保留無參構(gòu)造
3.不加final - 不能代理 1.實(shí)現(xiàn)接口 2.用字節(jié)碼在內(nèi)存生成對(duì)象實(shí)現(xiàn)代理
4.實(shí)現(xiàn)可序列化接口
注解
主鍵映射 @Embeddable @Embedded
可以把一個(gè)對(duì)象作為另一個(gè)對(duì)象的屬性
主鍵和自動(dòng)增長
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
多對(duì)一 級(jí)聯(lián)操作
@ManyToOne(cascade = CascadeType.ALL)
如: 存IdCard要先存User 如果只寫存IdCard需要加 casacad 級(jí)聯(lián)存User
一對(duì)一 一方必須是用@ManyToOne 用unique=ture來限定
添加外鍵約束
@JoinColumn(name = "userid")
雙向關(guān)聯(lián)必須
@OneToMany(mappedBy = "user")
fetch 抓取策略
fetch=FetchType.LAZY
不在數(shù)據(jù)庫
@Transient
ShemaExport-數(shù)據(jù)庫建表
// 通過ShemaExport工具類實(shí)現(xiàn)自動(dòng)導(dǎo)出表
SchemaExport se = new SchemaExport();
// 創(chuàng)建一個(gè)標(biāo)準(zhǔn)服務(wù)注冊器對(duì)象(建造者模式)
StandardServiceRegistry registry = new StandardServiceRegistryBuilder().configure().build();
try {
// 創(chuàng)建元數(shù)據(jù)對(duì)象(包含了hibernate的配置信息)
Metadata metadata = new MetadataSources(registry).buildMetadata();
// 通過映射實(shí)現(xiàn)在數(shù)據(jù)庫中建表的操作
se.create(EnumSet.of(TargetType.DATABASE), metadata);
} finally {
// 銷毀注冊器對(duì)象
StandardServiceRegistryBuilder.destroy(registry);
}
元數(shù)據(jù)對(duì)象也可以創(chuàng)建會(huì)話工廠源织,得到session對(duì)象
metadata.getSessionFactoryBuilder().build().getCurrentSession();