首页 > 其他分享 >8. 使用JPA保存数据【从零开始学Spring Boot】

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

时间:2023-06-26 17:37:21浏览次数:38  
标签:kfit JPA Spring Boot 升级 MyBatis test




在看这一篇文档的话,需要先配置好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(){
 d = new Demo();
 d.setName("Angel");
 demoService.save(d);//保存数据.
       return"ok.Demo2Controller.save";
    }
    
}

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

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


 

网易云课堂视频最新更新

第十一章 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升级篇-注解-@Result

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



标签:kfit,JPA,Spring,Boot,升级,MyBatis,test
From: https://blog.51cto.com/u_11142439/6556155

相关文章

  • 7. JPA - Hibernate【从零开始学Spring Boot】
      在说具体如何在springboot使用Hibernate前,先抛装引玉些知识点?什么是JPA呢?JPA全称JavaPersistenceAPI.JPA通过JDK5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。http://baike.baidu.com/link?url=LdqIXvzTr0RDjY2yoRdpogDdzaZ_L-DrIOpLLzK1z38......
  • 176. Spring Boot WebSocket:汇总篇
     前言:       我们通过几节博客对于websocket有了一个基本的认识,本篇博客进行个汇总。说明:(1)编码中使用的SpringBoot版本是: 1.5.8;(2)使用WebSocket有两种方式: 第一种方式使用socketJS,第二种方式是使用H5的标准。实例中使用的是第二种方式;(3)源代码:源代码下载地址htt......
  • 175. Spring Boot WebSocket:单聊
    需求缘起:       在前面的文章中已经实现了群聊,这里也简单介绍下单聊。这里使用session.getId()中的id作为唯一的消息通道(这里我们称为通讯的频道号), session.getId()是一个递增的数字,从0开始,递增1,2,3… 实际中并不会使用这个id作为标识,这里只是为了讲解方便。效果展示:先看......
  • 172.Spring Boot WebSocket:编码分析
    前言:       在上一篇文章中讲到了WebSocket的原理,这节中我们先简单的编码分析下,这样有助于在之后的实战编码。说明:(1)编码中使用的SpringBoot版本是: 1.5.8;(2)使用WebSocket有两种方式:第一种方式使用socketJS,第二种方式是使用H5的标准。实例中使用的是第二种方式;(3)最后提......
  • 174. Spring Boot WebSocket:群聊-昵称
     需求缘起:       在上一篇文章已经可以群聊功能了,但是存在一个问题,就是无法显示消息是谁发送了,这样就会导致消息乱七八糟的无法解读。在这版文章中解决昵称显示的问题。效果展示: 悟空消息:   师傅消息:   八戒消息: (1)在连接的时候,让用户输入昵称  ......
  • springboot 跨域设置
      写文章 SpringBoot项目解决跨域的几种方案小满只想睡觉一直快乐!​关注她  在用SpringBoot开发后端服务时,我们一般是提供接口给前端使用,但前端通过浏览器调我们接口时,浏览器会有个同源策略的限制,即协议,域名,端口任一不一样时都会......
  • 深度解析SpringBoot内嵌Web容器
    你好,我是刘牌!前言今天分享一个SpringBoot的内嵌Web容器,在SpringBoot还没有出现时,我们使用Java开发了Web项目,需要将其部署到Tomcat下面,需要配置很多xml文件,SpringBoot出现后,就从繁琐的xml文件中解脱出来了,SpringBoot将Web容器进行了内嵌,我们只需要将项目打成一个jar包,就可以运行......
  • Spring生命周期
    SpringBean的生命周期Spring框架中的组件被称为Bean,每个Bean都有其特定的生命周期。下面是SpringBean的生命周期的主要阶段:实例化:在这个阶段,Spring容器根据Bean定义创建Bean的实例。这可以通过构造函数或工厂方法来实现。属性注入:在实例化完成后,Spring容器将会为Bean的属......
  • Spring IoC有什么好处呢?
      来源   https://www.zhihu.com/question/23277575?utm_id=0   SpringIoC有什么好处呢? 作者:Mingqi链接:https://www.zhihu.com/question/23277575/answer/169698662来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。要了解控......
  • SpringCloud http大文件断点续传上传
    ​ 第一点:Java代码实现文件上传FormFilefile=manform.getFile();StringnewfileName= null;Stringnewpathname= null;StringfileAddre= "/numUp";try{    InputStreamstream=file.getInputStream();// 把文件读入    StringfilePath=request.......