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

歡迎訪問 生活随笔!

生活随笔

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

javascript

SpringDataJpa使用示例

發布時間:2025/1/21 javascript 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringDataJpa使用示例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

主要講解四點:

1、SpringDataJpa原理及查詢和修改操作(理解原理,能說出來,會用)

2、datagrid使用及分析(會用)

3、收派標準分頁列表查詢實現及修改功能(重點)

4、快遞員添加、分頁列表查詢、Specification實現分頁列表帶條件查詢(重點)

一、SpringDataJpa原理分析和基本API(重點)

1、Spring Data????

Spring Data 出現就是為了簡化、統一持久層的各種實現技術API

Spring Data 提供一套標準API和不同持久層整合技術實現

2、spring-data-commons與spring-data-jpa

spring-data-commons 一套標準API

spring-data-jpa 基于整合jpa實現

自己開發Repository只需要繼承JpaRepository接口

CrudRepository

save、delete、deleteAll、findAll、findOne、count

PagingAndSortingRepository

findAll(Sort) 基于排序的查詢、findAll(Pageable)基于分頁的查詢

二、SpringDataJpa查詢Query的使用(會用)

第一種:根據方法命名規則自動生成

基于一列等值查詢 findBy列名 例如:findByName(String name)

// 根據收派標準名稱查詢

public List<Standard> findByName(String name);

基于一列模糊查詢findBy列名Like 例如:findByNameLike(String name)

基于兩列等值查詢findBy列名And列名 例如:findByUsernameAndPassword(String username,String password)

第二種:不按命名規則寫的查詢方法,可以配置@Query綁定JPQL語句或者SQL語句

@Query(value="from Standard where name = ?" ,nativeQuery=false)

????// nativeQuery 為 false 配置JPQL,在這里其實就是寫HQL 、 為true 配置SQL

????public List<Standard> queryName(String name);

第三種:不按命名規則寫的查詢方法,配置@Query,沒寫語句,實體類@NamedQuery定義

@Query

????public List<Standard> queryName2(String name);

@NamedQueries({

????@NamedQuery(name="Standard.queryName2",query="from Standard where name=?")

})

三、SpringDataJpa修改操作Query使用(會用)

@Query注解完成,搭配使用@Modifying標記修改、刪除操作

@Query(value="update Standard set min·Length=?2 where id =?1")問號后數代表參數占位符

@Modifying

publicvoid updateMinLength(Integer id , Integer minLength);

Junit單元測試,要添加事務,設置事務不回滾

@Test

@Transactional

@Rollback(false)

publicvoid testUpdate(){

standardRepository.updateMinLength(1, 3);

}

四、數據表格datagrid簡單使用(會用)

1、table指定id="grid"

2、$("#grid").datagrid({…}); 完成對表格設置????

columns:表格列定義

url:遠程數據加載

pagination:true顯示分頁欄datagrid底????????

toolbar:頂部工具欄

參照10.html

五、數據表格datagrid分頁原理分析(理解)

page size

請求數據:page頁碼、rows每頁記錄數(每頁顯示幾條數據)

響應數據:total:總記錄數、rows當前頁數據記錄

  • 收派標準分頁列表查詢實現(能實現)

  • 修改standard.html數據表格url參數
  • 2、在StandardAction添加pageQuery方法,頁面會自動發送兩個請求參數page頁碼和 rows每頁記錄數

    Action代碼:

    pom.xml導入json插件

    業務層代碼

    實現代碼

    Spring data jpa提供分頁查詢方法,接受Pageable參數

    Spring data提供PageRequest對象實現Pageable接口

    注意PageRequest的page頁面從0開始所以要page-1

    七、收派標準修改功能實現(能實現)

    1、點擊修改按鈕,獲取datagrid選中的一行數據

    2、將選中數據回顯form表單

    使用jquery easyui 提供form對象

    提供隱藏字段 (id隱藏,用于傳參數)

    八、第三天主要內容概述

    1、快遞員管理,依賴收派標準選擇(多表關聯插入)

    2、快遞員分頁列表查詢

    3、區域批量數據導入 Excel讀寫工具 Apache POI、文件上傳

    4、基于條件分頁查詢功能實現Spring Data JPA 條件分頁查詢

    九、添加快遞員加載收派標準列表(能實現)

    1、快遞員管理功能介紹

    快遞員添加功能思路:

    1)jQuery Easyui Window窗口

    2)jQuery Easyui form 客戶端表單驗證

    3)Spring Data JPA 提供save方法

    2、收派標準列表顯示

    1)input控件

    url獲取列表數據、textField 顯示內容字段名、valueField生成選項value屬性依據字段名

    2)編寫StandardAction提供findAll方法

    3)編寫業務層方法

    十、添加快遞員服務器功能實現(能實現)

    快遞員添加功能(多表操作)介紹

  • 檢驗表單的輸入元素name字段是否與實體類屬性字段一致
  • 需要對快遞員添加表單,設置action和method
  • 3、使用jQuery easyui的form校驗功能

  • 編寫CourierAction添加save方法

  • 編寫業務層代碼實現

  • 6、編寫DAO業務接口

    十一、快遞員無條件分頁查詢實現(能實現)

  • 實現思路:

    1)datagrid在頁面加載后,會自動向url地址發送一次請求

    傳遞參數page當前頁碼和rows每頁顯示的記錄數到服務器

  • spring data提供Pageable對象(PageRequest)接收兩個參數
  • 調用spring data中Page findAll(Pageable)方法查詢總記錄數和當前頁數據
  • ????????4)將Page中數據封裝自定義Map集合total和rows轉換json返回客戶端

    2、實現步驟:

    ????????1)修改courier.html中的datagrid url地址

    ????????2)編寫CourierAction中的pageQuery方法

    ????????

    ????????3)編寫業務層實現

    分析:需不需要加載集合對象,@JSON注解排除不需要加載屬性

    十二、快遞員條件分頁查詢請求參數提交(能實現)

    1、制作查詢按鈕,點擊按鈕顯示快遞員查詢表單(窗口)

    2、將查詢窗口條件,綁定到數據表格上,讓數據表格在發送請求時,自動攜帶條件

    查詢jquery easyui datagrid 數據表格api

    1)先將頁面form表單數據,轉換{key:value,key:value}格式

    查看jquery

    2)基于自定義方法,完成將form參數轉換為json綁定到datagrid上

    3)查詢條件和分頁查詢參數一起發送給服務器端

    十三、使用Specification實現條件分頁查詢(能實現)

    思路:

  • 獲取請求參數
  • 封裝在Java類 Predicate
  • 拼湊成SQL語句 select * from my_table where name=? and age=? and …
  • 定義Java類封裝請求參數的規則,表達式
  • 3、修改CourierAction的pageQuery方法,添加條件查詢邏輯操作????????

    4、修改Service代碼

    實現

    5、修改DAO接口,繼承JpaSpecificationExecutor接口

    JpaSpecificationExecutor接口

    Specification接口對象:條件查詢對象

    Pageable接口對象:代表分頁查詢對象

    總結

    以上是生活随笔為你收集整理的SpringDataJpa使用示例的全部內容,希望文章能夠幫你解決所遇到的問題。

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