1. 程式人生 > 程式設計 >IDEA 中建立Spring Data Jpa 專案的示例程式碼

IDEA 中建立Spring Data Jpa 專案的示例程式碼

一、IDEA 建立工程

使用IDEA 建立工程的過程,使用文字做簡單描述。

  • 選擇工程類別【Spring Initializr】。
  • 設定工程的元資料【Metadata】,根據自己的情況填寫即可。
  • 設定工程的依賴;在【Web】中選擇“Spring Web”;在【SQL】中選中“Spring Data JPA”、“Spring Data JDBC”、“MySQL Driver”、“JDBC API”。選中的可能有些多,如果多了自己刪除掉。

做完最後一步,工程就建立完成了。

PS:在配置 IEAD 中的 Maven 功能時,將“Always update snapshots” 選中,這樣就會及時更新測試包,並且不快取Maven 的錯誤資訊。

1.1、Pom 檔案中的依賴資訊

<dependencies>
 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-data-jpa</artifactId>
 </dependency>
 <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>mysql</groupId>
 <artifactId>mysql-connector-java</artifactId>
 <scope>runtime</scope>
 </dependency>
 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-test</artifactId>
 <scope>test</scope>
 </dependency>
</dependencies>

二、編輯配置檔案

在 resources 目錄中建立配置檔案:application.yml;新增資料來源等資訊。

spring:
 datasource:
 url: jdbc:mysql://dbserver.com:3306/user?useUnicode=true&characterEncoding=utf-8
 username: username
 password: password
 driver-class-name: com.mysql.cj.jdbc.Driver

server:
 port: 8080
 compression:
 enabled: true
 servlet:
 context-path: /

三、編寫實體類

建立User的實體類 Entity/User.java(省略了getter&setter方法;如果不寫的話,會對資料操作失敗)。

/**
 * 使用JPA註解配置對映關係
 */
@Entity //告訴JPA這是一個實體類(和資料表對映的類)
@Table(name = "tbl_user") //@Table來指定和哪個資料表對應;如果省略,預設表名就是該類名的小寫:user
public class User {
 @Id //表示這個屬性是資料表中的主鍵
 @GeneratedValue(strategy = GenerationType.IDENTITY) //還是一個自增的主鍵
 private Integer id;
 @Column(name = "last_name",length = 50) //這是和資料表對應的一個列,可以定義其在資料表中的名字及長度
 private String lastName;
 @Column //省略的情況,預設列名就是屬性名
 private String email;
}

使用JPA的一個好處就是,它能夠根據實體類自動建立資料庫表,只需簡單配置幾步即可:

在application.yml檔案中增加(jpa 也是spring下的一個屬性,所以它也是在spring這個層級下的):

jpa:
 hibernate:
 ddl-auto: update #定義資料表的生成策略。update:更新或者建立資料表結構
 show-sql: true #控制檯顯示sql語句

執行主程式,控制檯會報錯找不到對應的表,但是這實際上是正常的,去資料庫看就可以發現名為tbl_user的表已經建立成功了,而且是根據實體類中的設定建立的。

四、持久層介面

JPA中有許多封裝好的對資料庫進行操作的方法,不需要我們再寫sql語句,而是直接呼叫其中的方法,就可以完成對資料的操作了。而這時,持久層只需繼承JpaRepository類就可以了。

/**
 * Dao/UserRepository.java
 * 繼承JpaRepository來完成對資料庫的操作
 * JpaRepository<T,id>,T表示要進行操作的實體類,id表示類的主鍵的型別
 */
public interface UserRepository extends JpaRepository<User,Integer> {
}

五、控制層

編寫控制層程式碼來測試一下是否成功。因為沒有介面,所以這邊直接用@RestController註解來返回json串就好了,把持久層介面自動注入進來,直接呼叫其中對應的方法。

@RestController
@EnableAutoConfiguration
public class UserController {
 @Autowired
 UserRepository userRepository;

 @GetMapping("/user/{id}")
 public User getUser(@PathVariable("id") Integer id) {
 Optional<User> optional = userRepository.findById(id);
 if (optional.isPresent()) {
 User user = optional.get();
 return user;
 } else {
 return new User();
 }
 }

 @GetMapping("/user")
 public User insertUser(User user) {
 User save = userRepository.save(user);
 return save;
 }
}

六、測試

1.首先插入一條資料:

位址列輸入 :http://localhost:8080/user?lastName=zhangsan&email=aa

2、查詢:

位址列輸入 :http://localhost:8080/user/1

到此這篇關於IDEA 中建立Spring Data Jpa 專案的示例程式碼的文章就介紹到這了,更多相關IDEA 建立Spring Data Jpa 專案內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!