热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SpringBoot快速入门(三)springboot的快速连接数据库之springdatajpa以及事务管理

五、数据库操作1.引入依赖2.在配置文件中添加信息3.Girl类的书写4.GirlRepository继承JpaRepository5.GirlController的实现ÿ

五、数据库操作

 


 

1.引入依赖

 

2.在配置文件中添加信息

 

3.Girl类的书写

 

4.GirlRepository继承JpaRepository

 

5.GirlController的实现,可通过Postman来模拟请求

package com.lcz;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import java.util.List;
import java.util.Optional;/*** @Author:Coding Chaozhang*/
@RestController
public class GirlController {@Autowiredprivate GirlRepository repository;@Autowiredprivate GirlService girlService;/*** 查询所有女生列表* @return*/@GetMapping(value = "/girls")public List girlList(){return repository.findAll();}/*** 创建女生信息* @param cupSize* @param age* @return*/@PostMapping(value = "/girls")public Girl girlAdd(@RequestParam("cupSize")String cupSize,@RequestParam("age")Integer age){Girl girl=new Girl();girl.setAge(age);girl.setCupSize(cupSize);return repository.save(girl);}/*** 查询一个女生* @param id* @return*/@GetMapping(value = "/girls/{id}")public Optional girlFindOne(@PathVariable("id")Integer id){return repository.findById(id);}/*** 更新一个女生信息* @param id* @param cupSize* @param age* @return*/@PutMapping(value = "/girls/{id}")public Girl girlUpdate(@PathVariable("id")Integer id,@RequestParam("cupSize")String cupSize,@RequestParam("age") Integer age){Girl girl=new Girl();girl.setId(id);girl.setCupSize(cupSize);girl.setAge(age);return repository.save(girl);}/*** 删除女生* @param id*/@DeleteMapping(value = "/girls/{id}")public void girlDelete(@PathVariable("id")Integer id){repository.deleteById(id);}@GetMapping(value = "/girls/age/{age}")public List girlListByAge(@PathVariable("age")Integer age) {return repository.findByAge(age);}@PostMapping(value = "/girls/two")public void girlTwo(){girlService.insertTwo();}
}


六、事务管理

@Transactional

 

package com.lcz;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;/*** @Author:Coding Chaozhang*/
@Service
public class GirlService {@Autowiredprivate GirlRepository girlRepository;@Transactionalpublic void insertTwo(){Girl girlA=new Girl();girlA.setCupSize("A");girlA.setAge(18);Girl girlB=new Girl();girlB.setCupSize("A");girlB.setAge(18);girlRepository.save(girlA);girlRepository.save(girlB);}
}



推荐阅读
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • Spring Boot 中 Java8 LocalDateTime 序列化问题
    LoginController页面如下:publicObjectlogin(@RequestBodyUseruser){returnxxxx ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 本文介绍了django中视图函数的使用方法,包括如何接收Web请求并返回Web响应,以及如何处理GET请求和POST请求。同时还介绍了urls.py和views.py文件的配置方式。 ... [详细]
author-avatar
CJT--陳嘉婷
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有