springboot之jpa支援
轉載請標明出處:https://blog.csdn.net/men_ma/article/details/106847165.
本文出自 不怕報錯 就怕不報錯的小猿猿 的部落格
springboot之jpa支援
匯入相關pom依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
application.yml檔案配置
spring:
jpa:
hibernate:
ddl-auto: update
show-sql: true
自動建表相關程式碼
package com.xiaoqing.springboot03.entity;
import lombok.Data;
import javax.persistence.*;
/**
* @author晴sister
* @site https://blog.csdn.net/men_ma
* @company xxx公司
* @create 2020-12-01 19:03
*/
@Data
@Entity
@Table(name = "t_springboot_student_2020")
public class Student {
@Id
@GeneratedValue
private Integer sid;
@Column
private String sname;
@Column
private String sex;
}
資料庫自動建表截圖
會建立一個序列以及t_springboot_student_2020表
jpa值增刪改查
* 只要繼承JpaRepository,通常所用的增刪查改方法都有
* 第一個引數:操作的實體類
* 第二個引數:實體類對應資料表的主鍵
*/
public interface StudentDao extends JpaRepository<Student,Integer> {
}
controller層
package com.xiaoqing.springboot03.controller;
import com.xiaoqing.springboot03.dao.StudentDao;
import com.xiaoqing.springboot03.entity.Student;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @author晴sister
* @site https://blog.csdn.net/men_ma
* @company xxx公司
* @create 2020-12-01 19:36
*/
@RestController
public class StudentController {
@Autowired
private StudentDao jpaDao;
@RequestMapping("/add")
public String add(Student book){
jpaDao.save(book);
return "success";
}
@RequestMapping("/edit")
public String edit(Student book){
jpaDao.save(book);
return "success";
}
@RequestMapping("/del")
public String del(Student book){
jpaDao.delete(book);
return "success";
}
@RequestMapping("/getOne")
public Student getOne(Integer sid){
// 會出現懶載入問題:org.hibernate.LazyInitializationException: could not initialize proxy - no Session
// return jpaDao.getOne(bid);
return jpaDao.findById(sid).get();
}
@RequestMapping("/getAll")
public List<Student> getAll(){
return jpaDao.findAll();
}
}
瀏覽器輸入請求進行測試:
http://localhost:8080/getOne?sid=11
http://localhost:8080/getAll
http://localhost:8080/add?sid=5&sname=tft&sex=uh
http://localhost:8080/del?sid=3
jpa值複雜查詢
dao層
* 要使用高階查詢必須繼承
* org.springframework.data.jpa.repository.JpaSpecificationExecutor<T>介面
*/
public interface StudentDao extends JpaRepository<Student, Integer>, JpaSpecificationExecutor<Student> {
}
controller層
@RequestMapping("/getCondition")
public List<Student> getCondition(Student book){
return jpaDao.findAll(new Specification<Student>() {
@Override
public Predicate toPredicate(Root<Student> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
Predicate predicate = criteriaBuilder.conjunction();
if(book != null){
if(null != book.getBname() && !"".equals(book.getBname())){
predicate.getExpressions().add(criteriaBuilder.like(root.get("bname"),"%"+book.getBname()+"%"));
}
}
return predicate;
}
});
}
瀏覽器訪問結果
小結
相關文章
- SpringBoot使用JPASpring Boot
- Spring全家桶系列–SpringBoot之入門JPASpring Boot
- SpringBoot2.0應用(四):SpringBoot2.0之spring-data-jpaSpring Boot
- SpringBoot 中 JPA 的使用Spring Boot
- SpringBoot整合Spring Data JPASpring Boot
- SpringBoot整合系列-整合JPASpring Boot
- 【SpringBoot Demo】MySQL + JPA + Hibernate + Springboot + Maven DemoSpring BootMySqlMaven
- SpringBoot資料訪問(二) SpringBoot整合JPASpring Boot
- SpringBoot中JPA的學習Spring Boot
- SpringBoot Jpa多條件查詢Spring Boot
- Kotlin + SpringBoot + JPA 服務端開發KotlinSpring Boot服務端
- JPA Repository之JpaRepositoryImplementation
- 【SpringBoot2.0系列12】SpringBoot之JavaMail傳送,支援FreeMark模板渲染Spring BootJavaAI
- Spring Data JPA系列2:SpringBoot整合JPA詳細教程,快速在專案中熟練使用JPASpring Boot
- Spring Data JPA(二):SpringBoot整合H2Spring Boot
- SpringBoot第九篇:整合Spring Data JPASpring Boot
- 如何在SpringBoot中使用Hibernate/JPA的@NaturalId?Spring Boot
- Spring Data JPA之Spring Data JPA快速入門(三)Spring
- 【極簡版】SpringBoot+SpringData JPA 管理系統Spring Boot
- ElasticSearch與SpringBoot的整合與JPA方法的使用ElasticsearchSpring Boot
- springboot~jpa審計欄位的自動填充Spring Boot
- springboot 專案引入tk或者jpa 訪問報錯Spring Boot
- JPA 之 多表聯合查詢
- SpringBoot2.0原始碼分析(四):spring-data-jpa分析Spring Boot原始碼
- SpringBoot + JPA的自學之路(三)多表連線查詢Spring Boot
- hibernate及SpringBoot整合Jpa實現對資料庫操作Spring Boot資料庫
- 帶你搭一個SpringBoot+SpringData JPA的環境Spring Boot
- springboot~jpa優雅的處理isDelete的預設值Spring Bootdelete
- SpringBoot JPA查詢對映到自定義實體類Spring Boot
- SpringBoot 對Future模式的支援Spring Boot模式
- JPA之使用JPQL進行CRUD操作
- MySQL-SpringBoot整合JPA實現資料讀寫分離MySqlSpring Boot
- SpringBoot2.x Data JPA 多資料來源爬坑Spring Boot
- SpringBoot之:SpringBoot中使用HATEOASSpring Boot
- SpringBoot配置Profile多環境支援Spring Boot
- SpringBoot配置外部Tomcat並支援JSPSpring BootTomcatJS
- 使用SpringBoot JPA進行自定義的儲存及批量儲存Spring Boot
- odrotbohm/jddd:使用Spring和JPA開發支援DDD概念的庫包Spring