本文介紹Springboot整合Spring-data-jpa實作簡單應用
Spring-data-jpa是什么?這不由得我們思考一番,其實通俗來說Spring-data-jpa默認使用hibernate,使用Spring-data-jpa這樣的技術,它實作了模板Dao層,只需要在Dao,通過繼承一個介面,就可輕松完成“增刪改查,所以本質就是springboot和hibernate的整合,已經有了hibernate為什么還要Spring-data-jpa!!!其實開發jpa和開發hibernate的居然是同一個作者...emmmm...
話不多說開始實施!
一、創建Springboot專案添加相關依賴:(大家可以參考我這篇文章創建Springboot專案哦!)
https://www.cnblogs.com/bgyb/p/12070279.html
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--MySQL依賴-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- spring-data-jpa依賴-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
二、配置application.yml進行配置:(注意層級關系,按住Ctrl鍵,移動到屬性上面滑鼠鍵變為小手形狀則為正確)
spring:
datasource:
url: jdbc:mysql://localhost:3306/easybuy?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
driver-class-name: com.mysql.jdbc.Driver
username: root
password: root
jpa:
hibernate:
ddl-auto: update #啟動應用,自動的去資料庫幫我們創建表
show-sql: true #顯示sql
三、創建物體類(entity)、資料介面(mapper)、攔截器(controller)
物體類(entity):
import org.springframework.boot.autoconfigure.domain.EntityScan;
import javax.persistence.*;
//使用JPA注解配置映射關系
@Entity //告訴JPA這是一個物體類(和資料表映射的類)
@Table(name="user") //@Table來指定和哪個資料表對應;如果省略默認表名就是user
public class User {
@Id //表示主鍵
@GeneratedValue(strategy = GenerationType.IDENTITY) //設定主鍵
private Integer id;
@Column(name = "u_name") //這是和資料表對應的一個列,如果注解中name不指定,表中列名默認和屬性名一樣
private String name;
@Column(name = "u_email")
private String email;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
資料介面(mapper):
import com.poje.myspringjpa.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;
//繼承JpaRepository來完成對資料庫的操作,指定javabean型別,其javabean主鍵屬性型別
public interface UserMapper extends JpaRepository<User,Integer> {
//方法體內可自定義方法進行操作
}
攔截器(controller):
import com.poje.myspringjpa.entity.User;
import com.poje.myspringjpa.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
@Controller
public class UserController {
@Autowired
UserMapper userMapper; //注入mapper層
//根據id查詢,查詢單個
@RequestMapping("/hello/{id}")
@ResponseBody
public User hello(@PathVariable("id") Integer id){
// User user = userMapper.findOne(id); Spring Boot2.0.0以上本版本,把findOne(id)改成findById(id).get()
User user = userMapper.findById(id).get(); //jpa自帶查詢方法
return user;
}
//查詢全部
@RequestMapping("/findAll")
@ResponseBody
public List<User> findAll(){
List<User> list =userMapper.findAll();//jpa自帶查詢方法
return list;
}
}
四、完成以上配置后即可啟動Springboot專案:
從控制臺我們可以看出Spring-data-jpa幫我們執行了創建表陳述句,我們可以去資料庫查看一番,,,

如圖所示資料庫表已經創建成功:
我們創建幾條資料到表中,接著去打開瀏覽器,輸入url:http://localhost:8080/hello/2,可以看到結果和控制臺的sql陳述句,

瀏覽器端效果如下:


至此Springboot整合jpa實作簡單創表及查詢已經都實作了,實作了的小伙伴都非常奈斯!(晚上給自己加個雞腿)
本人寄語:寫博客希望記錄當下,學習是永無止境的!努力成為IT界中的清流!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/185742.html
標籤:Java
