学习springBoot(六)

SpringBoot学习之路(六)——SpringBoot整合Mybatis 一、基础环境准备工作 1、在Navicat中新建查询,创建数据库develop并在库中创建两张表t_article和t_comment,运行以下脚本即可 #创建数据库 CREATE DATABASE develop; #选择使用数据库 USE develop; #创建表t_article并插入相关数据 DROP TABLE IF EXISTS t_article; CREATE TABLE t_article ( id int(20) NOT NULL AUTO_INCREMENT CO.. 阅读详情

本阶段把剩余的四个接口编写好!

观察一下,剩余的四个接口其实就是增删改查四项内容了。

一、增(增加一个女生,路径:/girls ,方式:POST)

类似与第一个接口,这个接口写法代码如下(在GirlController中编写):

  /**
     * 新增一个女生  POST方式
     */
    @PostMapping(value = "/girls")
    public Girl girlAdd(@RequestParam("cupSize") String cupSize,
                          @RequestParam("age") Integer age){
        Girl girl=new Girl();
        girl.setCupSize(cupSize);
        girl.setAge(age);
        return girlRepository.save(girl);
    }

下面解释一下这段代码,首先这个接口的请求方式是post类型的,路径还是/girls,因为是post类型的,所以需要我们添加推送参数,这里使用了@RequestParam,之前已经学习过,这里不再介绍;再往下是new一个girl,然后为其设置cupSize和age,最后调用我们之前写过的GirlRespositiory接口的save方法进行保存!下面使用postman进行接口测试(上节使用的是Fiddle,这里再学习一种新的测试接口的工具)。

首先运行代码,然后打开postman,输入我们的url、请求方式和请求参数如下图:

然后点击Send的确定按钮,在下面的Body部分的结果如下图:

这里我的id是4是因为我点了两次,下面我们再去数据库验证是否插入到了数据库。

由上图可得,数据库中已经插入成功!第二个接口也编写好了!

二、查(通过id查询一个女生,路径:/girls/id ,方式:GET)

同上,在GirlController中编写一下代码:

  /**
     * 通过id查询一个女生
     */
    @GetMapping(value = "/girls/{id}")
    public Girl girlFindOne(@PathVariable("id") Integer id){
        return girlRepository.findById(id).get();

    }

这里使用@PathVatiable的方式进行通过id查询女生,前面也已经学习过,可以看出来非常简单,运行代码测试即可!

还是使用postman测试接口,先书写我们的url和请求方式如下:

这里我选取的id是4,下面看一下body部分的结果,

查询成功!!!

三、更(根据id更新一个女生,路径:/girls/id ,方式:PUT)

同上,在GirlController中编写一下代码:

  /**
     * 通过id更新一个女生
     */
    @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 girlRepository.save(girl);
    }

下面解释一下这段代码:

要更新一个女生,那就要传入id,cupSize和age三个参数,分别使用了@PathVatiable的方式和@RequestParam,然后再创建一个新的girl,分别给其设置id,cupsize和age,最后调用save方法进行保存,下面运行程序进行接口测试,还是使用postman进行测试接口。

输入url和请求方式以及参数如下。注意:这里的content-type方式为:x-www-form-urlencoded,这是http协议规定的,在put方式的时候使用:

然后确定。查看body部分的结果如下图:

再查看数据库进行验证:

可以看到id为2的属性已经改变,接口测试成功!!

四、删(通过id删除一个女生, 路径:/girls/id ,方式:DELETE)

同上,在GirlController中编写一下代码:

 /**
     * 通过id删除一个女生
     */
    @DeleteMapping(value = "/girls/{id}")
    public void girlDelete(@PathVariable("id") Integer id){
        girlRepository.deleteById(id);

    }

代码跟上面几个接口类似,只不过最后调用的是deleteByid()的方法,然后运行程序进行测试接口,

这里我们测试的是把id为3的删除,运行后观察body部分的结果如下:

body部分为空,下面取数据库看一下id为3的数据是否还存在,

已经不存在,接口测试成功!

最后再补充一个接口,就是我们查询的时候不一定只根据id来查询,也可以根据年龄查询,具体如下:

首先在GirlRepository接口中编写以下代码:

public interface GirlRepository  extends JpaRepository<Girl,Integer>{

    //通过年龄来查询
    public List<Girl> findByAge(Integer age);
}

然后在GirlController中编写下列代码:

  /**
     * 通过年龄查询女生列表
     */
    @GetMapping(value = "/girls/age/{age}")
    public List<Girl> girlListByAge (@PathVariable("age") Integer age){
        return girlRepository.findByAge(age);

    }

这里使用了我们上一步定义好的findByAge方法,然后运行程序进行测试,

这里我们通过age=18来查询,下面看一下结果:

查询成功,说明接口正确!

这也就说明了哦我们可以通过修改dto达到我们可以根据自己指定的字段进行查询的目的。

关于jpa的使用就学习到这儿。

spring boot 2.1学习笔记【六】SpringBoot 2集成MySQL,Spring Data JPA springboot 2.1 使用 springdataJPA 集成 MySQL 阅读详情

相关推荐

Windows10检查Cuda和cuDNN是否安装成功?

简介:根据上篇博客已经完成了CUDA和cuDNN的安装步骤,完成对其的安装。下面将来检查它们是否安装成功。 1 .首先win+R进入CMD,在命令行输入nvcc -V,如下图所示,则表示cuda已经安装成功。 2 .进入到cuda的安装路径,C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\demo_suite,找到如下两个.exe文件: 首先执行:deviceQuery.exe,查看是否出现如下界面: 然后执行bandwid

jhsignal的博客 14万+

@PathVariable注解的使用及源码解析

PathVariable 注解是我们进行JavaEE开发,最常见的几个注解之一,这篇博文我们以案例和源码相结合,帮助大家更好的了解@PathVariable 注解。

好记性不如烂笔头 3108

使用OpenTK展示3D点云图像(C#)

图中存在一个空的点,可通过阈值分割过滤掉,然后如何保证某个点必然存在后面两个和它构成三角形的点,用一个2x2的结构元腐蚀阈值分割出的区域,得到剩下所有的点必然每个点可以构成三角形,这种得到三角形的算法效率会非常高。然后还有光照,无光照和有光照效果差异很大,处理光照核心在于得到每个点的法向量,用上面的三角形的两条边构成的向量叉乘,及得到这个点的法向量,输入给着色器处理得到光照的渲染效果,如下面两张图对比。我们需要把点连成面,有很多算法可以实现,但我拿到的图为一张tif格式16位的深度图,如下图。

海盗Isaac 2283

@PathVariable注解

转自:http://www.cnblogs.com/FFFFF/p/4624140.html 使用@PathVariable可以快速的访问,URL中的部分内容。 ①. 在@RequestMapping的value中使用URI template({变量名}),然后在@RequestMapping注解方法的需要绑定的参数前,使用@PathVariable指定变量名(如果变量名和参数名一致也可以不指定)...

田地里的大麦子 1万+

易灵思FPGA-软件Efinity和Modelsim联仿设置

文章目录前言一、modelsim破解过程二、使用步骤1.引入库2.读入数据总结欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智

qq_35221855的博客 5362

地磁场仿真与导航方案设计

地磁场仿真与导航方案设计 地磁场作为地球的固有资源,为航空、航天、航海提供了天然的坐标,可应用于航天器、航空飞行器和舰船等载体的定位、定向及姿态控制。本文依据地磁场的球谐模型,利用Matlab工具,设计了计算任意地点地磁场的程序,对仿真结果与实际数据进行对比分析;并选定一组卫星的数据,结合卫星的运动轨道,描绘90分钟内卫星处地磁总强度/矢量随轨道变化曲线,据此设计一种卫星地磁导航方案。 一、地磁场计算原理 1.1.球谐模型与球谐系数 地磁学的基本问题之一就是用数学表达式将地磁要素的地面分布表示成地理坐标的函

PRQKKK的博客 7408

三、@PathVariable

3.1@PathVariable 映射 URL 绑定的占位符 带占位符的 URL 是 Spring3.0 新增的功能,该功能在SpringMVC 向 REST 目标挺进发展过程中具有里程碑的意义 通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过@PathVariable(“xxx“) 绑定到操作方法的入参中。 实例:

shuduti的博客 3万+

SAP_PP模块跑完 MRP,MD04 里却看不到“计划订单”?排查这 3 个最容易被忽略的主数据参数

MRP 是 SAP 逻辑最严密的模块之一,它绝不会随机罢工。当 MD04 里看不到计划订单时,请不要怀疑系统的计算能力。99% 的情况,都是因为我们给系统下达了矛盾的指令:一边告诉它“我有需求”,一边却通过主数据告诉它“不要计划”、“不要触发”或者“我是冻结的”。掌握这 3 个排查点,你就能在 5 分钟内解决大部分“MRP 失灵”的悬案,成为用户眼中的“系统神医”。

我小时候很黑的博客 592

@PathVariable是什么?详情及用法解析

@PathVariable 映射 URL 绑定的占位符 带占位符的 URL 是 Spring3.0 新增的功能,该功能在SpringMVC 向 REST 目标挺进发展过程中具有里程碑的意义 通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过@PathVariable(“xxx“) 绑定到操作方法的入参中。 实例:...

tank的博客 2677

基于Simulink的六旋翼无人机动力分配仿真建模示例

六旋翼无人机概述特点:高冗余度、增强的负载能力和更好的故障容忍性。关键组件电机与螺旋桨:提供升力和推力。电调(ESC):控制电机转速。IMU(惯性测量单元):包括加速度计和陀螺仪,用于姿态估计。飞控板:处理传感器数据并生成控制信号。应用场景:航拍摄影、农业监测、物流配送等。仿真目标搭建一个简化的六旋翼无人机动力分配模型,涵盖电机驱动、姿态控制及位置控制过程。分析不同条件下的性能指标(如响应时间、稳定性等),并探讨六旋翼无人机的设计优化。

xiaoheshang_123的博客 484

【存储原理】IO超时处理 块层block-scsi层之间

【存储原理】IO超时处理 块层block-scsi层之间

sinat_37817094的博客 1024

一些不错的国外安全站点

老狐狸的博客 1372

基于YOLOv8的MVTec AD缺陷检测系统设计与实现

速度快,精度高;支持 anchor-free 架构;支持实例分割和图像分类;模块化代码,易于部署与改进;完美兼容 ONNX、TensorRT 等推理框架;官方支持多平台训练和推理(CPU/GPU)。YOLOv8 是工业视觉检测落地非常理想的选择。MVTec AD(Anomaly Detection)数据集包括15类工业对象,每个对象包括多个子类缺陷(例如 “scratch”, “crack”, “hole”)及正常图像。类别缺陷子类bottlecablecapsule。

YOLO 931

《springboot学习》六 spring boot整合jsp

1.pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/x...

程序猿学社的博客 1115

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Spring boot学习笔记之六: SpringBoot之表单验证@Valid

SpringBoot提供了强大的表单验证功能实现,给我们省去了写验证的麻烦;1 .常见表单验证注解限制说明@Null限制只能为null@NotNull限制必须不为null@AssertFalse限制必须为false@AssertTrue限制必须为true@DecimalMax(value)限制必须为一个不大于指定值的数字@DecimalMin(value)限制必须为一个不小于指定值的数字@Digi...

HeJD的博客 9541

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

SpringBoot 学习笔记(六)Spring Boot项目结构介绍

一、目录结构 src/main/java:放置所有的java源代码文件 src/main/resources/static:用于存放静态资源 src/main/resources/templates:用于存放Web页面的模板文件,如Thymeleaf src/main/resources/aapplication:配置信息,例如应用名、服务端口、数据库配置等,默认支持两种配置文件类型,即.properties和.yml src/test:单元测试目录 target:放置编译后的.class文件、配置文件

qq_44648936的博客 2990

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Springboot学习日记六

Springboot学习日记六 完善之前Blog的页面,同时增加登录拦截功能 LoginInterceptor public class LoginInterceptor extends HandlerInterceptorAdapter { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception

qq_35891728的博客 159

springboot学习总结六(Spring boot下事务配置管理)

SpringBoot事务支持: 1.在入口类中使用@EnableTransactionManagement开启事务支持; 2.在访问数据库的Service方法上添加注解@Transactional即可 StudentService.java StudentServiceImpl.java MyBaitsController.java 执行结果分析: 除数不能为零,会抛...

llyu 520

spring boot学习六

spring boot学习

qq_44935015的博客 152

springboot之shiro学习六

Apache Shiro整合SpringBoot2.x综合实战和技术栈 技术选型:前后端分离的权限检验 + SpringBoot2.x + Mysql + Mybatis + Shiro + Redis + IDEA + JDK8 设计案例实战数据库 用户-角色-权限 及关联表 用户 角色 权限 idea快速生成get与set的方法 右键Generate找到get与set就行; ...

weixin_43288858的博客 217

Springboot集成Restful风格《SpringBoot学习六》

1. restful介绍 REST:英文representational state transfer直译为表现层状态转移,或者表述性状态转移;Rest是web服务的一种架构风格,一种设计风格,是一种思想;同时Rest不是针对某一种编程语言的。 以webService为例通俗解释。 非Rest设计,以往我们都会这么写: http://localhost:8080/admin/getUser (查...

胃病的不良少彦 264

SpringBoot学习(六)—— springboot快速整合RabbitMQ

Rabbit MQ消息队列 文章目录Rabbit MQ消息队列简介优点缺点Rabbit MQ工作模式1,"Hello World!"模式2,Work queues 模式3,Publish/Subscribe 模式4,Routing 模式5,Topics 模式交换机模式引入RabbitMQ队列代码实战 简介 优点 erlang开发,并发能力强。 社区活跃,使用的人多,稳定性较强。 延时低 缺点 er...

lgx211 968

学习笔记:JavaEE开发的颠覆者SpringBoot实战(六)spring boot的web开发

一.spring boot的web开发支持 spring boot提供了spring-boot-starter-web为web开发予以支持,spring-boot-starter-web为我们提供了嵌入的tomcat以及spring mvc的依赖。 二.Thymeleaf模板引擎 推荐使用的模板,因为提供了完美的spring mvc集成 1.Thymeleaf基础知识 1.1 引入Thy...

java_shm的专栏 264

springBoot学习笔记六

SpringBoot与数据库连接 依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> &lt

qq_33879627的博客 172

springboot学习六:日志

日志框架 UCL JUL jboss-logging logback log4j log4j2 slf4j... spring boot默认选用slf4j,logback spring boot默认帮我们配置好了日志,我们直接使用即可。 一、日志级别: TRACE< DEBUG< INFO<WARN< ERROR< FATAL<OFF spring...

好幸运 471
上一篇: 学习springBoot(五)
下一篇: 学习springBoot(七,进阶篇)
MagicMHD
博客等级 码龄9年 503粉丝 78原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值