本文介紹了springboot集成jpa的示例代碼,分享給大家,具體如下:
1.創(chuàng)建新的maven項目
2. 添加必須的依賴
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
<!--springboot的必須依賴--> <parent> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-parent</artifactid> <version> 1.5 . 9 .release</version> </parent> <dependencies> <!--啟動springmvc的相關配置,springboot的自動配置--> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-web</artifactid> </dependency> <!--jpa--> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-data-jpa</artifactid> </dependency> <!--mysql驅動--> <dependency> <groupid>mysql</groupid> <artifactid>mysql-connector-java</artifactid> </dependency> </dependencies> |
3. 新建springboot啟動類
1
2
3
4
5
6
7
8
9
|
import org.springframework.boot.springapplication; import org.springframework.boot.autoconfigure.springbootapplication; @springbootapplication public class application { public static void main(string[] args) { springapplication.run(application. class ,args); } } |
4. 在resources跟目錄下新建application.properties
1
2
3
4
5
6
7
8
|
#建立/更新數(shù)據(jù)表的配置 spring.jpa.hibernate.ddl-auto=update #數(shù)據(jù)庫地址 spring.datasource.url=jdbc:mysql: //localhost:3306/qian?useunicode=true&characterencoding=utf-8 #數(shù)據(jù)庫用戶名 spring.datasource.username=root #數(shù)據(jù)庫密碼 spring.datasource.password= 123 |
- update:hibernate根據(jù)給定的entity結構改變數(shù)據(jù)庫。
- create: 每次都會創(chuàng)建數(shù)據(jù)庫,關閉時不會刪除
- none: mysql的默認設置 , 不改變數(shù)據(jù)結構
- create-drop: 創(chuàng)建數(shù)據(jù)庫,但是每次sessionfactory關閉后都會刪除
5. 新建實體類user
這個時候其實已經(jīng)可以啟動springboot, 但是不會生成數(shù)據(jù)表,因為還沒有配置實體類的jpa
先新建user.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
import org.hibernate.annotations.genericgenerator; import javax.persistence.entity; import javax.persistence.generatedvalue; import javax.persistence.id; /** * created by andy on 2018/1/20. */ //表明這是個需要生成數(shù)據(jù)表的類 @entity public class user { // 定義主鍵id @id // 聲明一個策略通用生成器,name為”system-uuid”,策略strategy為”uuid”。 @genericgenerator (name = "system-uuid" , strategy = "uuid" ) // 用generator屬性指定要使用的策略生成器。 @generatedvalue (generator = "system-uuid" ) private string id; private string name; private integer age; private boolean sex; public string getid() { return id; } public void setid(string id) { this .id = id; } public string getname() { return name; } public void setname(string name) { this .name = name; } public integer getage() { return age; } public void setage(integer age) { this .age = age; } public boolean getsex() { return sex; } public void setsex( boolean sex) { this .sex = sex; } } |
這時候啟動項目,就會在指定位置下生成一個user數(shù)據(jù)表
6. 實現(xiàn)crud
crudrepository是一個提供了普通增刪改查方法的接口,由spring內部提供,我們只需調用即可
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
@norepositorybean public interface crudrepository<t, id extends serializable> extends repository<t, id> { <s extends t> s save(s var1); <s extends t> iterable<s> save(iterable<s> var1); t findone(id var1); boolean exists(id var1); iterable<t> findall(); iterable<t> findall(iterable<id> var1); long count(); void delete(id var1); void delete(t var1); void delete(iterable<? extends t> var1); void deleteall(); } |
新建userrepository.java
1
2
3
|
public interface userrepository extends crudrepository<user, string> { } |
7. 實現(xiàn)controller控制
新建usercontroller.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
@restcontroller public class usercontroller { @autowired private userrepository userrepository; @requestmapping ( "/add" ) public user add(string name){ user user = new user(); user.setname(name); return userrepository.save(user); } @requestmapping ( "/list" ) public iterable<user> list(){ iterable<user> all = userrepository.findall(); return all; } } |
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:https://my.oschina.net/u/3490860/blog/1610121