8. 使用JPA儲存資料
阿新 • • 發佈:2018-11-03
在看這一篇文件的話,需要先配置好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;//主鍵. privateStringname;//測試名稱. 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
檢視資料庫,就可以看到已經新增的資料了。