最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring Boot JPA如何把ORM統(tǒng)一起來

 更新時間:2018年04月18日 15:51:06   作者:張占嶺  
Spring Data JPA 是 Spring 基于 ORM 框架、JPA 規(guī)范的基礎(chǔ)上封裝的一套JPA應(yīng)用框架,可使開發(fā)者用極簡的代碼即可實現(xiàn)對數(shù)據(jù)的訪問和操作,本文給大家詳細介紹了Spring Boot JPA如何把ORM統(tǒng)一起來,感興趣的朋友一起看看吧

JPA介紹

JPA(Java Persistence API)是Sun官方提出的Java持久化規(guī)范。它為Java開發(fā)人員提供了一種對象/關(guān)聯(lián)映射工具來管理Java應(yīng)用中的關(guān)系數(shù)據(jù)。他的出現(xiàn)主要是為了簡化現(xiàn)有的持久化開發(fā)工作和整合ORM技術(shù),結(jié)束現(xiàn)在Hibernate,TopLink,JDO等ORM框架各自為營的局面。值得注意的是,JPA是在充分吸收了現(xiàn)有Hibernate,TopLink,JDO等ORM框架的基礎(chǔ)上發(fā)展而來的,具有易于使用,伸縮性強等優(yōu)點。從目前的開發(fā)社區(qū)的反應(yīng)上看,JPA受到了極大的支持和贊揚,其中就包括了Spring與EJB3.0的開發(fā)團隊。JPA是一套規(guī)范,不是一套產(chǎn)品,那么像Hibernate,TopLink,JDO他們是一套產(chǎn)品,如果說這些產(chǎn)品實現(xiàn)了這個JPA規(guī)范,那么我們就可以叫他們?yōu)镴PA的實現(xiàn)產(chǎn)品。

Spring Data JPA

Spring Data JPA 是 Spring 基于 ORM 框架、JPA 規(guī)范的基礎(chǔ)上封裝的一套JPA應(yīng)用框架,可使開發(fā)者用極簡的代碼即可實現(xiàn)對數(shù)據(jù)的訪問和操作。它提供了包括增刪改查等在內(nèi)的常用功能,且易于擴展!學(xué)習(xí)并使用 Spring Data JPA 可以極大提高開發(fā)效率!spring data jpa讓我們解脫了DAO層的操作,基本上所有CRUD都可以依賴于它來實現(xiàn),自己寫個倉儲接口后繼承JpaRepository即可實現(xiàn)最基本的增刪改查功能!

在項目中引用Spring JPA

1 在build.gradle文件中添加包引用

  compile('org.springframework.boot:spring-boot-starter-data-jpa')
  compile('mysql:mysql-connector-java')

2 在source的配置文件中添加mysql和jpa的相關(guān)設(shè)置

spring:
 datasource:
  url: jdbc:mysql://127.0.0.1:3306/test
  username: root
  password: root
  driver-class-name: com.mysql.jdbc.Driver
 jpa:
   database: MYSQL
   show-sql: true #顯示后臺處理的SQL語句
   hibernate:
    ddl-auto: update #自動檢查實體和數(shù)據(jù)庫表是否一致,如果不一致則會進行更新數(shù)據(jù)庫表

3 添加數(shù)據(jù)庫表實體,注意一些注解,@Entity表示數(shù)據(jù)表實體,@Table可以指定數(shù)據(jù)表名稱,@Id表示是主鍵,@GeneratedValue主鍵升成規(guī)則,@Column表示數(shù)據(jù)列名稱等等。

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import lombok.Data;
@Data
@Entity
@Table(name = "user")
public class User {
 @Id
 @GeneratedValue(strategy = GenerationType.AUTO)
 @Column(name = "Id")
 private int id;
 @Column(name = "Name")
 private String name;
}

4 為數(shù)據(jù)表實體添加倉儲接口,因為JPA已經(jīng)有了自己的標準實例,所以簡單的CURD實例我們不需要寫了,如果有個性化的操作,再去定義接口和實現(xiàn)。

import com.example.springdemo.model.User;
import org.springframework.data.jpa.repository.JpaRepository;
public interface SqlUserRepository extends JpaRepository<User, Integer> {
}

5 最后在controller中添加依賴注入的字段,一般使用@Autowired即可

@RestController
@RequestMapping("/mysql")
public class MysqlController {
 @Autowired
 private SqlUserRepository repository;
 /**
  * return list.
  *
  * @return
  */
 @RequestMapping("/list")
 public List<User> dataList() {
  return repository.findAll();
 }
}

總結(jié)

以上所述是小編給大家介紹的Spring Boot JPA如何把ORM統(tǒng)一起來,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Java之Springcloud Feign組件詳解

    Java之Springcloud Feign組件詳解

    這篇文章主要介紹了Java之Springcloud Feign組件詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Java中數(shù)組的定義和使用教程(一)

    Java中數(shù)組的定義和使用教程(一)

    這篇文章主要給大家介紹了關(guān)于Java中數(shù)組的定義和使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • IDEA之IDEA連接gitlab協(xié)同開發(fā)方式

    IDEA之IDEA連接gitlab協(xié)同開發(fā)方式

    通過IDEA克隆GitLab項目實現(xiàn)代碼協(xié)同開發(fā)相較于使用SourceTree,?通過IDEA連接GitLab進行代碼協(xié)同開發(fā)更顯便捷,方法包括通過VersionControl創(chuàng)建新項目,輸入項目的git?HTTP地址和本地路徑,測試連接成功后克隆項目,修改代碼后
    2024-11-11
  • Spring?Initializr只能創(chuàng)建為Java?17版本以上的問題解決

    Spring?Initializr只能創(chuàng)建為Java?17版本以上的問題解決

    這篇文章主要給大家介紹了關(guān)于Spring?Initializr只能創(chuàng)建為Java?17版本以上問題的解決辦法,文中通過圖文介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-01-01
  • Java抽象類的構(gòu)造模板模式用法示例

    Java抽象類的構(gòu)造模板模式用法示例

    這篇文章主要介紹了Java抽象類的構(gòu)造模板模式用法,結(jié)合實例形式分析了java使用抽象類構(gòu)造模板模式相關(guān)操作技巧,需要的朋友可以參考下
    2019-09-09
  • Java日常練習(xí)題,每天進步一點點(54)

    Java日常練習(xí)題,每天進步一點點(54)

    下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望可以幫到你
    2021-08-08
  • 詳解SpringBoot如何使用Redis和Redis緩存

    詳解SpringBoot如何使用Redis和Redis緩存

    這篇文章主要為大家詳細介紹了SpringBoot如何使用Redis和Redis緩存,文中的示例代碼講解詳細,對我們學(xué)習(xí)SpringBoot有一定的幫助,需要的可以參考一下
    2022-06-06
  • Java int與integer的對比區(qū)別

    Java int與integer的對比區(qū)別

    這篇文章主要介紹了Java int與integer的對比區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • Mybatis如何獲取最新插入數(shù)據(jù)的id

    Mybatis如何獲取最新插入數(shù)據(jù)的id

    這篇文章主要介紹了Mybatis如何獲取最新插入數(shù)據(jù)的id,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Spring整合Struts2的兩種方法小結(jié)

    Spring整合Struts2的兩種方法小結(jié)

    下面小編就為大家?guī)硪黄猄pring整合Struts2的兩種方法小結(jié)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07

最新評論

阿克| 安平县| 基隆市| 贵阳市| 保靖县| 凤城市| 苏尼特左旗| 进贤县| 宁明县| 江城| 拜泉县| 柳林县| 库车县| 盐城市| 宽甸| 阿巴嘎旗| 大石桥市| 佛学| 万源市| 长汀县| 东乡| 新丰县| 介休市| 大方县| 新沂市| 石泉县| 和政县| 漳平市| 清涧县| 隆子县| 贵港市| 资源县| 安丘市| 北京市| 繁昌县| 仪征市| 龙州县| 轮台县| 乌兰察布市| 册亨县| 莲花县|