一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|

服務器之家 - 編程語言 - JAVA教程 - SpringBoot整合JPA的實例代碼

SpringBoot整合JPA的實例代碼

2020-09-24 15:20方志朋 JAVA教程

本篇文章主要介紹了SpringBoot整合JPA的實例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

JPA全稱Java Persistence API.JPA通過JDK 5.0注解或XML描述對象-關系表的映射關系,并將運行期的實體對象持久化到數據庫中。

JPA 的目標之一是制定一個可以由很多供應商實現的API,并且開發人員可以編碼來實現該API,而不是使用私有供應商特有的API。

JPA是需要Provider來實現其功能的,hibernate就是JPA Provider中很強的一個,應該說無人能出其右。從功能上來說,JPA就是Hibernate功能的一個子集。

添加相關依賴

添加spring-boot-starter-jdbc依賴:

?
1
2
3
4
5
<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-jpa
      </artifactId>
    </dependency>

添加MySQL連接類和連接池類:

?
1
2
3
4
5
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
  </dependency>

配置數據源,在application.properties文件配置:

?
1
2
3
4
5
6
7
8
9
10
11
spring:
 datasource:
  driver-class-name: com.mysql.jdbc.Driver
  url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8
  username: root
  password: 123456
 
 jpa:
  hibernate:
   ddl-auto: update # 第一次簡表create 后面用update
  show-sql: true

注意,如果通過jpa在數據庫中建表,將jpa.hibernate,ddl-auto改為create,建完表之后,要改為update,要不然每次重啟工程會刪除表并新建。

創建實體類

通過@Entity 表明是一個映射的實體類, @Id表明id, @GeneratedValue 字段自動生成

?
1
2
3
4
5
6
7
8
9
10
@Entity
public class Account {
  @Id
  @GeneratedValue
  private int id ;
  private String name ;
  private double money;
 
... 省略getter setter
}

Dao層

數據訪問層,通過編寫一個繼承自 JpaRepository 的接口就能完成數據訪問,其中包含了幾本的單表查詢的方法,非常的方便。值得注意的是,這個Account 對象名,而不是具體的表名,另外Interger是主鍵的類型,一般為Integer或者Long

?
1
2
public interface AccountDao extends JpaRepository<Account,Integer> {
}

Web層

在這個栗子中我簡略了service層的書寫,在實際開發中,不可省略。新寫一個controller,寫幾個restful api來測試數據的訪問。

?
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
@RestController
@RequestMapping("/account")
public class AccountController {
 
  @Autowired
  AccountDao accountDao;
 
  @RequestMapping(value = "/list", method = RequestMethod.GET)
  public List<Account> getAccounts() {
    return accountDao.findAll();
  }
 
  @RequestMapping(value = "/{id}", method = RequestMethod.GET)
  public Account getAccountById(@PathVariable("id") int id) {
    return accountDao.findOne(id);
  }
 
  @RequestMapping(value = "/{id}", method = RequestMethod.PUT)
  public String updateAccount(@PathVariable("id") int id, @RequestParam(value = "name", required = true) String name,
                @RequestParam(value = "money", required = true) double money) {
    Account account = new Account();
    account.setMoney(money);
    account.setName(name);
    account.setId(id);
    Account account1 = accountDao.saveAndFlush(account);
 
    return account1.toString();
 
  }
 
  @RequestMapping(value = "", method = RequestMethod.POST)
  public String postAccount(@RequestParam(value = "name") String name,
               @RequestParam(value = "money") double money) {
    Account account = new Account();
    account.setMoney(money);
    account.setName(name);
    Account account1 = accountDao.save(account);
    return account1.toString();
 
  }
 
 
}

通過postman請求測試,代碼已經全部通過測試。

源碼下載:https://github.com/forezp/SpringBootLearning

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://blog.csdn.net/forezp/article/details/70545038

延伸 · 閱讀

精彩推薦
  • JAVA教程java8新特性之接口默認方法示例詳解

    java8新特性之接口默認方法示例詳解

    這篇文章主要給大家介紹了關于java8新特性之接口默認方法的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用java8具有一定的參考學習價...

    嘎嘎嘎98034082020-08-17
  • JAVA教程詳解Spring中的FactoryBean

    詳解Spring中的FactoryBean

    本篇文章主要介紹了Spring中的FactoryBean,如果一個bean的創建過程中涉及到很多其他的bean 和復雜的邏輯,用xml配置比較困難,這時可以考慮用FactoryBean...

    bird_cat4732020-09-06
  • JAVA教程SpringBoot攔截器實現對404和500等錯誤的攔截

    SpringBoot攔截器實現對404和500等錯誤的攔截

    本篇文章主要介紹了SpringBoot攔截器實現對404和500等錯誤的攔截,具有一定的參考價值,感興趣的小伙伴們可以參考一下。...

    漫步于成神之路男人4232020-09-07
  • JAVA教程struts中動態方法調用使用通配符

    struts中動態方法調用使用通配符

    這篇文章主要介紹了struts中動態方法調用使用通配符的相關資料,非常不錯,具有參考借鑒價值,感興趣的朋友一起看看吧...

    布拉格19732132020-06-12
  • JAVA教程java中每月等額與先息后本計算

    java中每月等額與先息后本計算

    一般信用貸款會提供兩種還款方式:每月等額或者先息后本。每月等額,就是每月歸還等同的部分本金和利息,你手里在使用的本金其實是逐月減少的。先...

    boldwei4192020-09-03
  • JAVA教程Java讀取Properties文件幾種方法總結

    Java讀取Properties文件幾種方法總結

    這篇文章主要介紹了 Java讀取Properties文件幾種方法總結的相關資料,需要的朋友可以參考下...

    Java教程網1442020-09-18
  • JAVA教程Spring boot監控Actuator-Admin實現過程詳解

    Spring boot監控Actuator-Admin實現過程詳解

    這篇文章主要介紹了Spring boot監控Actuator-Admin實現過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友...

    手撕高達的村長1302020-09-22
  • JAVA教程java 格式化輸出數字的方法

    java 格式化輸出數字的方法

    在實際工作中,常常需要設定數字的輸出格式,如以百分比的形式輸出,或者設定小數位數等,現稍微總結如下 ...

    java教程網1672019-11-01
主站蜘蛛池模板: 日本高清在线看免费观看 | 欧美一级高清片 | 99精品视频在线观看免费播放 | 爱情岛论坛亚洲一号路线 | www.四虎网站 | 国产农村乱子伦精品视频 | 日韩高清一区 | 亚洲国产精品一区二区三区久久 | 亚洲a视频在线观看 | 久久99re热在线播放7 | 无耻之徒第十一季在线观看 | 日本高清视频网址 | 亚洲视频一区在线播放 | 大象传媒1234区 | 初尝黑人巨大h文 | 九九在线精品亚洲国产 | 精品一区二区三区视频日产 | 亚洲精品视频导航 | 男同志与动人物zozotv | 四虎国产精品免费入口 | ai换脸杨颖被啪在线观看 | 欧美日韩一区二区三区在线视频 | 色综合欧美色综合七久久 | 亚洲精品AV无码永久无码 | 青青热久麻豆精品视频在线观看 | 欧美另类xxx精品人妖 | 国产成人精品视频午夜 | 欧美帅老头oldmangay | 大吊小说 | 男人天堂a | 国产愉拍 | 黑人biglackon10十 | 香蕉久久久久 | 精品在线免费观看视频 | 四虎在线永久免费视频网站 | 男男视频18免费网站 | 久久精品亚洲精品国产欧美 | 青青草99热这里都是精品 | a一级黄| 日本sss| 美女全身体光羞羞漫画 |