1. 程式人生 > >8. 使用JPA儲存資料

8. 使用JPA儲存資料

在看這一篇文件的話,需要先配置好JPA – Hibernate。

       總體步驟:

(1)  建立實體類Demo,如果已經存在,可以忽略。

(2)  建立jpa repository類操作持久化。

(3)  建立service類。

(4)  建立restful請求類。

(5)  測試

 

程式碼如下:

com.kfit.test.bean.Demo :

package com.kfit.test.bean;

 

import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; /** * 測試實體類. * @author Administrator * */ @Entity //加入這個註解,Demo就會進行持久化了,在這裡沒有對@Table進行配置,請自行配置。 public class Demo { @Id @GeneratedValue private long id;//主鍵. private
Stringname;//測試名稱. public long getId(){ return id; } public voidsetId(long id) { this.id = id; } public StringgetName() { return name; } public voidsetName(String name) { this.name =name; } }

 

com.kfit.test.dao.DemoRepository(這是一個介面,沒有具體的實現,這就是JPA):

package com.kfit.test.dao;

import org.springframework.data.repository.CrudRepository;

import com.kfit.test.bean.Demo;

/*

 * 在CrudRepository自帶常用的crud方法.

 * 這樣一個基本dao就寫完了.

 */

public interface DemoRepository extends CrudRepository<Demo,Long>{

 

}

 

 

到這裡儲存資料的方法就寫完了。CrudRepository類把一些常用的方法都已經進行定義和實現了。那麼你現在就可以在別的類引入呼叫了。

另外就是在Spring Data的核心接口裡面Repository是最基本的介面了, spring提供了很多實現了該介面的基本介面,如:CrudRepository,PagingAndSortingRepository,SimpleJpaRepository,QueryDslJpaRepository等大量查詢介面

 

com.kfit.test.service.DemoService :

package com.kfit.test.service;

 

import javax.annotation.Resource;

importorg.springframework.stereotype.Service;

import com.kfit.test.bean.Demo;

import com.kfit.test.dao.DemoRepository;

 

/**

 * 提供Demo服務類.

 * @author Administrator

 *

 */

@Service

publicclass DemoService {

      

       @Resource

       private DemoRepository demoRepository;

      

@Transactional

       publicvoid save(Demo demo){

              demoRepository.save(demo);

       }

}

 

 

com.kfit.test.web.Demo2Controller(這裡為了程式碼乾淨,新建了一個測試類):

package com.kfit.test.web;

 

import javax.annotation.Resource;

importorg.springframework.web.bind.annotation.RequestMapping;

importorg.springframework.web.bind.annotation.RestController;

import com.kfit.test.bean.Demo;

import com.kfit.test.service.DemoService;

 

@RestController

@RequestMapping("/demo2")

publicclass Demo2Controller {

       @Resource

       private DemoService demoService;

      

       /**

        * 測試儲存資料方法.

        * @return

        */

       @RequestMapping("/save")

       public String save(){

              Demod = new Demo();

              d.setName("Angel");

              demoService.save(d);//儲存資料.

              return"ok.Demo2Controller.save";

       }

      

}

 

 

之後就可以進行測試了,訪問地址:http://127.0.0.1:8080/demo2/save

檢視資料庫,就可以看到已經新增的資料了。