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


    转载:http://blog.csdn.net/linxingliang/article/details/51636989

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

    public class DemoService {

       

        @Resource

        private DemoRepository demoRepository;

       

    @Transactional

        public void save(Demo demo){

           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")

    public class Demo2Controller{

        @Resource

        private DemoService demoService;

       

        /**

         * 测试保存数据方法.

         * @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

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

  • 相关阅读:
    SICP 1.9-1.10
    SICP 1.6-1.8
    SICP 1.1-1.5
    【最小生成树】Codeforces 707B Bakery
    【数学】Codeforces 707C Pythagorean Triples
    【离线】【深搜】【树】Codeforces 707D Persistent Bookcase
    【贪心】Vijos P1615 旅行
    【字符串】【最小表示法】Vijos P1683 有根树的同构问题
    【模拟】Vijos P1005 超长数字串
    【并查集】【模拟】Codeforces 698B & 699D Fix a Tree
  • 原文地址:https://www.cnblogs.com/ceshi2016/p/6704148.html
Copyright © 2020-2023  润新知