您好,登錄后才能下訂單哦!
配置方式
pom依賴
org.springframework.boot
spring-boot-starter-aop
application.xml配置
#jpa配置
spring.jpa.properties.hibernate.hbm2ddl.auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.show-sql= true
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
需要注意的是最后一行,用來定義命名策略,如果不設置,會使用默認的命名策略,比如建表時,會將有駝峰命名的轉換為全小寫,并用橫線分割如:實體類名:userCommon,映射到表名就是user-common
使用方式
使用jpa有兩種方式,一種是使用注解,另外一種是使用配置文件,這兩種都可以實現,但是推薦使用注解,因為這種方式更加的簡潔,且是主流趨勢,下面主要介紹注解的方式。
在需要映射的實體類添加如下注解
@Entity :表明該類是一個實體類,添加了該注解后,才能被jpa掃描到
@Table:可以自定義表名
我們需要知道的是,上面兩行注解就已經完成了jpa的映射,聲明為實體類后,該類里面的屬性默認都會進行映射到數據庫,但是默認的往往是不符合我們的要求的,比如,命名、長度、主鍵、索引都是需要自己指定的,因此下面介紹一些常用的注解
擴展注解
在屬性添加注解
主鍵:
@Id:一般用來聲明主鍵
@GeneratedValue(strategy=GenerationType.IDENTITY):設置主鍵為自增
普通屬性:無錫婦科檢查醫院 http://www.87554006.com/
@column:可以自定義列名或者定義其他的數據類型
比如@column(name=“content”, columnDefinition = “longtext”)
@Transient:不進行數據庫的映射,類似于排除
頁面直接得到格式化類型的值,主要針對日期類型
@Temporal(TemporalType.DATE):如1994-05-06
@Temporal(TemporalType.TIME):20:46:13
@Temporal(TemporalType.TIMESTAMP):1994-05-06 20:46:13
唯一索引
@Table(name = “表名”, uniqueConstraints = {
@UniqueConstraint(name = “索引名稱”, columnNames = {“字段1”,“字段2”})
}),
表加index索引
@Table(name = “表名”,indexes = {
@Index(name = “索引名稱”, columnList = “字段名”)
})
數據庫初始化
對數據庫的初始化往往也是經常用到的,我們創建的數據庫一般都需要一些初始化的數據,配置方式如下
增加application.properties配置文件屬性
spring.datasource.data=classpath:database/data.sql
spring.datasource.sql-script-encoding=utf-8
spring.datasource.initialization-mode=ALWAYS
創建data.sql文件,在項目啟動的時候就會執行該sql文件,如果項目的數據已經被初始化,那么可以將最后一行的屬性ALWAYS改為NEVER
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。