1. 程式人生 > >8. 使用JPA儲存資料【從零開始學Spring Boot】

8. 使用JPA儲存資料【從零開始學Spring Boot】

【視訊&交流平臺】

http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=400000000155061&utm_medium=share

http://study.163.com/course/introduction.htm?courseId=1004638001&utm_campaign=commission&utm_source=400000000155061&utm_medium=share

https://gitee.com/happyangellxq520/spring-boot

http://412887952-qq-com.iteye.com/blog/2321532



在看這一篇文件的話,需要先配置好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;

importjavax.annotation.Resource;

importorg.springframework.stereotype.Service;

importcom.kfit.test.bean.Demo;

importcom.kfit.test.dao.DemoRepository;

/**

 *提供Demo服務類.

 *@author Administrator

 *

 */

@Service

publicclass DemoService {

    @Resource

    private DemoRepositorydemoRepository;

@Transactional

    publicvoid save(Demodemo){

       demoRepository.save(demo);

    }

}

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

package com.kfit.test.web;

importjavax.annotation.Resource;

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

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

importcom.kfit.test.bean.Demo;

import com.kfit.test.service.DemoService;

@RestController

@RequestMapping("/demo2")

publicclass Demo2Controller{

    @Resource

    private DemoServicedemoService;

    /**

     *測試儲存資料方法.

     *@return

     */

    @RequestMapping("/save")

    public String save(){

       Demo d = new Demo();

        d.setName("Angel");

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

       return"ok.Demo2Controller.save";

    }

}

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

Spring Boot 系列視訊】

視訊&交流平臺:

http://study.163.com/course/introduction.htm?courseId=1004329008

http://412887952-qq-com.iteye.com/blog/2321532

網易雲課堂視訊最新更新

第十一章 Spring Boot 日誌

1、spring boot日誌—理論

2、Spring Boot日誌-logback

3、Spring Boot日誌-log4j2

第十二章 Spring Boot 知識點2

1、spring boot 服務配置和部署

2、Spring Boot 定製URL匹配規則

歷史章節

第一章 快速開始

1、Spring Boot之Hello World

2、Spring Boot之Hello World訪問404

第二章 Spring Boot之JSON

1、spring boot返回json資料

2、Spring Boot完美使用FastJson解析JSON資料

第三章 Spring Boot熱部署

1、Spring Boot熱部署(springloader)

2、springboot + devtools(熱部署)

第四章 Spring Boot資料庫

1、Spring Boot JPA/Hibernate/Spring Data概念

2、Spring Boot JPA-Hibernate

3、Spring Boot Spring Data JPA介紹

4、Spring Boot JdbcTemplate

5、Spring Boot整合MyBatis

第五章 web開發

1、全域性異常捕捉

2、配置server資訊

3、spring boot使用thymeleaf

4、Spring Boot 使用freemarker

5、Spring Boot新增JSP支援

第六章 定時任務

1、Spring Boot定時任務

2、Spring Boot 定時任務升級篇(動態修改cron引數)

3、Spring Boot 定時任務升級篇(動態新增修改刪除定時任務)

4、Spring Boot 定時任務升級篇(叢集/分散式下的定時任務說明)

5、Spring Boot Quartz介紹

6、Spring Boot Quartz在Java Project中使用

7、Spring Boot 整合Quartz普通使用

8、Spring Boot 整合Quartz升級版

9、Spring Boot 整合Quartz二次升級版

10、Spring Boot 整合Quartz-Job如何自動注入Spring容器託管的物件

第七章 Spring Boot MyBatis升級篇

1、Spring Boot MyBatis升級篇-註解

2、Spring Boot MyBatis升級篇-註解-自增ID

3、Spring Boot MyBatis升級篇-註解-增刪改查

4、Spring Boot MyBatis升級篇-註解-分頁查詢

5、Spring Boot MyBatis升級篇-註解-分頁PageHelper不生效

6、Spring Boot MyBatis升級篇-註解- mybatic insert異常:BindingException: Parameter 'name' not found

7、Spring Boot MyBatis升級篇-註解- #和$符號特別篇

8、Spring Boot MyBatis升級篇-註解[email protected]

9、Spring Boot MyBatis升級篇-註解-動態SQL(if test)-方案一:<script>

10、Spring Boot MyBatis升級篇-註解-動態SQL(if test)-方案二:@Provider

11、Spring Boot MyBatis升級篇-註解-動態SQL-引數問題

12、Spring Boot MyBatis升級篇-註解-特別篇:@MapperScan和@Mapper

13、Spring Boot MyBatis升級篇-XML

14、Spring Boot MyBatis升級篇-XML-自增ID

15、Spring Boot MyBatis升級篇-XML-增刪改查

16、Spring Boot MyBatis升級篇-XML-分頁查詢

17、Spring Boot MyBatis升級篇-XML-分頁PageHelper不生效

18、Spring Boot MyBatis升級篇-XML-動態SQL(if test)

19、Spring Boot MyBatis升級篇-XML-註解-初嘗試

20、Spring Boot MyBatis升級篇- pagehelper替換為pagehelper-spring-boot-starter

第八章 Spring Boot 知識點1

1、Spring Boot 攔截器HandlerInterceptor

2、Spring Boot啟動載入資料CommandLineRunner

3、Spring Boot環境變數讀取和屬性物件的繫結

4、Spring Boot使用自定義的properties

5、Spring Boot使用自定義的properties

6、Spring Boot使用@SpringBootApplication

7、Spring Boot 監控和管理生產環境

第十章 Spring Boot 打包部署

1、Spring Boot打包部署((提供Linux的sh檔案))

第十一章 Spring Boot 日誌

1、spring boot日誌—理論

2、Spring Boot日誌-logback

3、Spring Boot日誌-log4j2