一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

SpringBoot非官方教程 | 第四篇:SpringBoot 整合JPA

 LZS2851 2017-05-01

轉(zhuǎn)載請標明出處:
http://blog.csdn.net/forezp/article/details/70545038
本文出自方志朋的博客

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

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

JPA是需要Provider來實現(xiàn)其功能的,Hibernate就是JPA Provider中很強的一個,應(yīng)該說無人能出其右。從功能上來說,JPA就是Hibernate功能的一個子集。

添加相關(guān)依賴

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


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

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

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

配置數(shù)據(jù)源,在application.properties文件配置:

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

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

創(chuàng)建實體類

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

@Entity
public class Account {
    @Id
    @GeneratedValue
    private int id ;
    private String name ;
    private double money;

...  省略getter setter
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

Dao層

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

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

  • 1
  • 2
  • 3
  • 4

Web層

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

@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();

    }


}

  • 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

通過postman請求測試,代碼已經(jīng)全部通過測試。

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

參考資料

accessing-data-jpa

優(yōu)秀文章推薦:

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    91国自产精品中文字幕亚洲| 中文字幕高清免费日韩视频| 国产精品欧美激情在线观看| 丝袜破了有美女肉体免费观看 | 亚洲精品一二三区不卡| 国产精品白丝一区二区| 国产盗摄精品一区二区视频| 成人日韩视频中文字幕| 日韩中文字幕狠狠人妻| 91久久国产福利自产拍| 国产日韩久久精品一区| 青青操日老女人的穴穴| 国产精品久久熟女吞精| 日韩欧美第一页在线观看| 国产一区日韩二区欧美| 亚洲免费黄色高清在线观看| 中文字幕日韩一区二区不卡| 中文字幕禁断介一区二区| 亚洲视频一级二级三级| 99精品国产一区二区青青| 国产亚洲精品一二三区| 欧美六区视频在线观看| 人妻一区二区三区在线 | 99久久国产精品亚洲| 亚洲内射人妻一区二区| 精品少妇一区二区三区四区| 黄色国产自拍在线观看| 日本免费一级黄色录像| 欧美日韩综合在线第一页| 污污黄黄的成年亚洲毛片| 国产欧美日产久久婷婷| 精品日韩国产高清毛片| 五月的丁香婷婷综合网| 亚洲国产精品无遮挡羞羞| 亚洲一区二区三区在线免费| 日本一本不卡免费视频| 国产精欧美一区二区三区久久| 欧美国产日韩变态另类在线看| 我想看亚洲一级黄色录像| 欧美性猛交内射老熟妇| 国产日韩欧美在线亚洲|