转载: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

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

8.使用JPA保存数据【从零开始学Spring Boot】的更多相关文章

  1. (7)JPA - Hibernate【从零开始学Spring Boot】

    在说具体如何在spring boot 使用Hibernate前,先抛装引玉些知识点?什么是JPA呢? JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象- ...

  2. 7. JPA - Hibernate【从零开始学Spring Boot】

    转载:http://blog.csdn.net/linxingliang/article/details/51636976 在说具体如何在spring boot 使用hibernate前,先抛装引玉些 ...

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

    在看这一篇文档的话,需要先配置好JPA – Hibernate. 总体步骤: (1)   创建实体类Demo,如果已经存在,可以忽略. (2)   创建jpa repository类操作持久化. (3 ...

  4. 64.JPA命名策略【从零开始学Spring Boot】

    [从零开始学习Spirng Boot-常见异常汇总] 在(39.2). Spring Boot Shiro权限管理[从零开始学Spring Boot] 这一章节中有人碰到这样一个问题"导入的 ...

  5. 63.JPA/Hibernate/Spring Data概念【从零开始学Spring Boot】

    [从零开始学习Spirng Boot-常见异常汇总] 事情的起源,无意当中在一个群里看到这么一句描述:"有人么?默默的问一句,现在开发用mybatis还是hibernate还是jpa&quo ...

  6. 78. Spring Boot完美使用FastJson解析JSON数据【从零开始学Spring Boot】

    [原创文章,转载请注明出处] 个人使用比较习惯的json框架是fastjson,所以spring boot默认的json使用起来就很陌生了,所以很自然我就想我能不能使用fastjson进行json解析 ...

  7. 74. Spring Data JPA方法定义规范【从零开始学Spring Boot】

    [从零开始学习Spirng Boot-常见异常汇总] 事情的起因:有人问过我们这个这个问题:为什么我利用Spring data jpa写的方法没有按照我想要的情况进行执行呢?我记得当时只是告诉他你你先 ...

  8. 69. JPA实体Bean的生命周期【从零开始学Spring Boot】

    [从零开始学习Spirng Boot-常见异常汇总] 在使用JPA的时候,如果对bean的生命周期不了解的话,难免会碰到一些问题,比如:InvalidDataAccessApiUsageExcepti ...

  9. (2)Spring Boot返回json数据【从零开始学Spring Boot】

    在做如下操作之前,我们对之前的Hello进行简单的修改,我们新建一个包com.kfit.test.web 然后新建一个类HelloControoler, 然后修改App.java类,主要是的这个类就是 ...

  10. (38)Spring Boot分布式Session状态保存Redis【从零开始学Spring Boot】

    [本文章是否对你有用以及是否有好的建议,请留言] 在使用spring boot做负载均衡的时候,多个app之间的session要保持一致,这样负载到不同的app时候,在一个app登录之后,而访问到另外 ...

随机推荐

  1. vue后台项目

    https://github.com/PanJiaChen/vue-element-admin

  2. C++封装随笔

    1接口的封装和设计思想入门 接口的封装和设计思想入门 第一套api函数 #ifndef _CLT_SOCKET_H__ #define _CLT_SOCKET_H__ //客户端初始化环境 int c ...

  3. (计数器)NOIP模拟赛(神奇的数位DP题。。)

    没有原题传送门.. 手打原题QAQ [问题描述]     一本书的页数为N,页码从1开始编起,请你求出全部页码中,用了多少个0,1,2,…,9.其中—个页码不含多余的0,如N=1234时第5页不是00 ...

  4. java基础练习 12

    public class Twelfth { /*海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份.第二只猴子把剩下的桃子又平均分成五 ...

  5. PDF工具

    PDF打印工具 pdfcreator 可以将所有文件都打印为pdf PDF 阅读-编辑-打印工具 Adobe Acrobat DC 可以将所有文件都打印为pdf,并且支持编辑PDF与阅读,可以将PDF ...

  6. python2 登录带验证码的页面

    #!/usr/bin/python#-*- coding: utf-8 -*- import os,json;import urllib,urllib2;import cookielib; #获取co ...

  7. JMeter乱码问题的解决

    一.JMeter返回数据是乱码 解决办法是: 在JMeter安装路径的bin目录下,以记事本打开文件jmeter.properties, 找到Sampleresult.default.encoding ...

  8. jmeter压测脚本编写与静态文件处理

    一.压测脚本编写 概述:工具为谷歌浏览器-->F12-->Network,访问被测站点,通过其中的请求的地方来构造压测脚本 二.静态文件处理 概述:静态文件包括css/js/图片等,它们有 ...

  9. Visual Studio跨平台开发(3):Xamarin iOS多页面应用开发

    前言 在前一篇教学中, 我们学会如何使用Visual Studio 搭配Xcode进行iOS基本控制项的操作. 但都是属于单一画面的应用程式. 这次我们要来练习如何通过Navigation Contr ...

  10. HDU 6351暴力枚举 6354计算几何

    Beautiful Now Time Limit: 5000/2500 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)T ...