日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Boot入门——JPA

發布時間:2024/9/5 javascript 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Boot入门——JPA 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JPA最大的特點就是可以根據@Entity自動創建你數據庫表,用戶只需要聲明持久層的接口,不需要實現該接口

1、JPA概念

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

  JPA是Sun官方提供發Java持久化規范,為java開發人員提供了一種對象/關系映射工具來管理java應用中的關系數據。

  持久化(Persistence),即把數據保存到可永久保存的存儲設備中(如磁盤),持久化的主要應用是將內存中的對象存儲在數據庫中,或者存儲在磁盤文件中或XML數據文件中。

2、Hibernate概念

  Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,它將POJO與數據庫表建立映射關系,是一個全自動的ORM框架??梢宰詣由蒘QL語句,自動執行,使得java程序員可以隨心所欲的使用對象編程的思想來操作數據庫。

3、Spring Boot JPA特點

  a、簡潔,只需要聲明接口,接口無需實現

  b、簡單易用,提供了多種不同功能的接口

  c、集成了多種查詢策略,支持JPQL

  d、簡化了排序分頁等功能

  e、可以和Spring Boot整合,進一步簡化

  f、支持擴展

4、使用Spring Boot JPA的步驟

  a、在pom.xml文件中添加mysql,spring-data-jpa依賴

<!-- mysql依賴 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.42</version></dependency><!-- spring-boot-jpa依賴 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency>

  b、在application.properties文件中配置mysql連接配置信息

#mysql配置信息 spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.jdbc.Driver

# 下面為連接池的補充設置,應用到上面所有數據源中
# 初始化大小,最小,最大
#spring.datasource.initialSize=5
#spring.datasource.minIdle=5
#spring.datasource.maxActive=20
#配置獲取連接等待超時的時間
#spring.datasource.maxWait=60000
#配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接,單位是毫秒
#spring.datasource.timeBetweenEvictionRunsMillis=60000
# 配置一個連接在池中最小生存的時間,單位是毫秒
#spring.datasource.minEvictableIdleTimeMillis=300000
#spring.datasource.validationQuery=SELECT 1 FROM DUAL
#spring.datasource.testWhileIdle=true
#spring.datasource.testOnBorrow=false
#spring.datasource.testOnReturn=false
# 打開PSCache,并且指定每個連接上PSCache的大小
#spring.datasource.poolPreparedStatements=true
#spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
# 配置監控統計攔截的filters,去掉后監控界面sql無法統計,'wall'用于防火墻
#spring.datasource.filters=stat,wall,log4j
# 通過connectProperties屬性來打開mergeSql功能;慢SQL記錄
#spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
# 合并多個DruidDataSource的監控數據
#spring.datasource.useGlobalDataSourceStat=true

  c、在application.properties文件中配置JPA配置信息

#spring boot JPA相關配置 spring.jpa.datasource=MYSQL# Show or not log for each sql query spring.jpa.show-sql = true# Hibernate ddl auto (create, create-drop, update) spring.jpa.hibernate.ddl-auto = update# Naming strategy spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy#spring.jpa.database=org.hibernate.dialect.MySQL5InnoDBDialect spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect

  d、編寫測試樣例

/* * Grade類 */ package com.wyl.bean;import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id;@Entity public class Grade {@Id@GeneratedValue(strategy=GenerationType.AUTO)//設置id自增長private int id;private String gradeNm;private int teacherId;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getGradeNm() {return gradeNm;}public void setGradeNm(String gradeNm) {this.gradeNm = gradeNm;}public int getTeacherId() {return teacherId;}public void setTeacherId(int teacherId) {this.teacherId = teacherId;} } Grade.class /*
** GradeDAO,數據庫操作類必須繼承Repository類
*/
package
com.wyl.dao;import org.springframework.data.repository.Repository;import com.wyl.bean.Grade;
/** Spring Boot中dao最重要的就是繼承 Repository類,完成數據庫相應的操作
* GradeDAO也可以繼承CrudRepository類,調用Spring boot中已有的數據庫操作方法更方便
* GradeDAO繼承PagingAndSortingRepository類,完成分頁查詢和排序
*  
*/ public interface
GradeDAO extends Repository<Grade, Integer>{
  
  //自定義的數據庫操作方法
//
public Grade findByGradeNm(String gradeNm);
  
  @Query("from Grade where gradeNm=:nm")
?? ?public Grade findByGradeNm(@Param("nm")String gradeNm); }
package com.wyl.service;import javax.annotation.Resource;import org.springframework.stereotype.Service;import com.wyl.bean.Grade; import com.wyl.dao.GradeDAO;/*** GradeService類,調用gradeDAO中的方法* */ @Service public class GradeService {@Resourceprivate GradeDAO gradeDAO;
  @Transactional
public Grade findByGradeNm(String gradeNm){return gradeDAO.findByGradeNm(gradeNm);}
  
  //分頁查詢
  /*@Transactional
?? ?public Iterable<Grade> getAll(){
?? ??? ?return gradeDAO3.findAll(new PageRequest(0, 4));
?? ?}
?? ?
  //排序查詢
?? ?@Transactional
?? ?public Iterable<Grade> getAll2(){
?? ??? ?Sort sort = new Sort(Sort.Direction.DESC, "teacherId");
?? ??? ?return gradeDAO3.findAll(sort);
?? ?}*/ }
package com.wyl.controller;import javax.annotation.Resource;import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;import com.wyl.bean.Grade; import com.wyl.service.GradeService;@RestController public class JPAController {@Resourceprivate GradeService gradeService;@RequestMapping("/finfByGradeNm")public Grade finfByGradeNm(String gradeNm){System.out.println("finfByGradeNm");return gradeService.findByGradeNm(gradeNm);} }

  e、測試結果

    

轉載于:https://www.cnblogs.com/studyDetail/p/7017754.html

總結

以上是生活随笔為你收集整理的Spring Boot入门——JPA的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 四虎国产 | 久久久久亚洲av无码专区 | 成人在线一区二区三区 | 久久精品综合视频 | 美女扒开腿让男人 | 精品久久视频 | 色综合一区二区 | 久久久久人妻一区精品色欧美 | 国产一区啪啪 | 久久午夜精品视频 | 国产av国片偷人妻麻豆 | 成人一区二区在线观看 | 男人天堂影院 | 亚洲色图日韩 | 美女让男生桶 | 亚洲精品日韩在线 | 亚洲免费在线视频 | 在线理论片| caopor在线| 成人在线h | 美女精品网站 | 精品人妻伦一二三区免费 | 可以在线看的av | 麻豆视频传媒入口 | 久草一本 | 射在线| 日日夜夜狠狠爱 | 亚洲精品中文字幕乱码无线 | 国产丝袜网站 | 538国产精品一区二区免费视频 | 夜夜草网站| 午夜天堂视频 | 操丝袜少妇| 欧美网站免费 | 捆绑调教在线观看 | 亚洲伊人影院 | 人人妻人人藻人人爽欧美一区 | 日韩中文字幕在线观看视频 | 国产精品伦理一区二区 | 天堂网av手机版 | 国产aⅴ精品一区二区果冻 台湾性生生活1 | 日韩欧美在线观看一区二区三区 | 操老女人视频 | 国产91亚洲精品 | 亚洲宅男天堂 | 国产精品久久久一区二区三区 | 欧美精品二区 | 欧洲一区二区在线观看 | 国产精品不卡在线观看 | 日日摸夜夜添夜夜添高潮喷水 | 亚洲无码精品国产 | 99精品视频免费版的特色功能 | 99综合色 | 曰本不卡视频 | 九久久久久 | 韩国女主播av | 久久精品www人人爽人人 | 久久精品国产亚洲AV无码麻豆 | 久久精品视频在线免费观看 | 久久欧 | 777理伦三级做爰 | 在线观看国产精品入口男同 | 日本精品久久久久久久 | 玖操| 伊人久久大香 | 久久综合狠狠综合久久综合88 | 日产精品久久久一区二区 | 美女露隐私网站 | 欧美一区二区三区成人 | 中国女人性猛交 | 国产专区在线视频 | 毛片av网址 | 永久在线 | 兔费看少妇性l交大片免费 日韩高清不卡 | 伊人免费 | 欧美大片在线免费观看 | 欧美一级淫片免费视频魅影视频 | 亚洲一区二区三区加勒比 | 国产精品色婷婷99久久精品 | 免费在线观看成人av | 女人脱裤子让男人捅 | 久久夜色精品亚洲 | 免费在线观看视频 | 精品久久久久久一区二区里番 | 人人妻人人澡人人爽久久av | 日本韩国中文字幕 | 国产sm网站 | 成人第四色 | 男女啪啪免费网站 | 看av网| 午夜寻花| av大片在线观看 | 亚洲成人一区在线 | 射婷婷| 欧美亚洲第一页 | 日韩在线观看视频一区二区 | 欧美三级免费 | 成人免费视频国产免费 | 超碰在线c|