8. 使用JPA保存数据【从零开始学Spring Boot】

在看这一篇文档的话,需要先配置好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";

    }

   

}

之后就可以进行测试了,访问地址:http://127.0.0.1:8080/demo2/save

查看数据库,就可以看到已经添加的数据了。

购买完整视频,请前往:http://www.mark-to-win.com/TeacherV2.html?id=287