oracle 授权 增删改查权限_Springboot整合SpringDataJPA基于Restful风格实现增删改查功能...

作者:小小的bug

链接:https://www.jianshu.com/p/8ef1d5e0902c

前言

本篇文章主要介绍的是Springboot整合SpringDataJPA基于Restful风格实现增删改查功能。

Spring Boot介绍

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,我们不必像Spring MVC一样写大量的xml配置文件。

GitHub源码链接位于文章底部。

总结来说,springboot是一个快速开发的框架,开箱即用,提供了各种默认配置来简化项目配置,能够集成第三方框架,这是通过maven依赖实现的,它简化了xml,采用注解的形式,springboot还内嵌了tomcat容器,帮助开发者快速开发与部署。

添加依赖

新建一个maven项目,在pom文件中添加以下依赖

这个依赖引入了mvc框架,开启了接口访问的方式,它也正是以这种maven依赖的方式集成第三方框架的。

org.springframework.bootspring-boot-starter-web2.1.3.RELEASE

主程序启动入口

在controller、service等同级目录下,创建Application.java启动类

SpringBootApplication注解=Configuration注解+EnableAutoConfiguration注解+ComponentScan注解。

Configuration注解负责初始化并启动spring容器,这个类内部方法上使用Bean注解可以实现spring容器的注入。

EnableAutoConfiguration注解负责初始化配置,启动springboot需要启动的项,后边详细解释此注解的作用。

ComponentScan注解负责扫包,springboot启动程序后,能够被外部访问的只有被SpringBootApplication注解扫描到的包下的类。

SpringBootApplication注解启动类默认扫包范围是当前包下或者子包下所有的类。

@SpringBootApplication
控制层
@RestController

成功启动主程序之后,浏览器输入 http://localhost:8080/hello 便可以查看信息。(因为没有配置端口,默认端口就是8080)

修改默认端口

在resource资源目录下创建application.yml文件

server:
port: 8081

重新启动后,浏览器输入 http://localhost:8081/hello 可以查看信息。

application.yml文件内容的格式,以上文中的端口为例:

server+冒号+空格,然后换行,+一个tab键占位符+port+冒号+空格+8080,

意为server属性下的port属性的值为8080.

基于Restful风格实现增删改查功能

一、Restful风格介绍

是一种网络应用程序的设计风格和开发方式,REST指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。

每一个URI代表1种资源;

客户端使用GET、POST、PUT、DELETE4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源;

二、开发准备
1、新建数据库和表

在MySql中创建一个名为springboot的数据库和名为一张t_user的表。

CREATE DATABASE `springboot`;

USE `springboot`;

DROP TABLE IF EXISTS `t_user`;

CREATE TABLE `t_user` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
`name` varchar(10) DEFAULT NULL COMMENT '姓名',
`age` int(2) DEFAULT NULL COMMENT '年龄',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;

2、修改pom文件,添加依赖
    
org.springframework.bootspring-boot-starter-parent2.1.3.RELEASE

org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-data-jpaorg.springframework.bootspring-boot-starter-testtestmysqlmysql-connector-java5.1.39org.projectlomboklombok1.16.20
src/main/java**/*.xmltrue

3.工程结构

com.lxg.springboot.controller - Controller 层

com.lxg.springboot.dao - 数据操作层 DAO

com.lxg.springboot.common - 存放公共类

com.lxg.springboot.entity - 实体类

com.lxg.springboot.service - 业务逻辑层

Application - 应用启动类

application.yml - 应用配置文件,应用启动会自动读取配置

d1cb397bf28d73908fe24c52642db61f.png

image

4.修改application.yml文件,添加数据库连接属性
server:
port: 8080

spring:
datasource:
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=utf8

三、编码
1.在common中创建公共类
1.1 封装分页结果PageResult
@Data
1.2 封装统一返回结果
@Data
1.3 返回状态码
public 
2.在entity中新建实体类
@Data

注解:Data:安装lombok插件再使用该注解可省略getter/setter、无参构造等方法,具体使用见文章https://www.lxgblog.com/article/1572329460

Entity:对实体注释,声明实体。

Table:与数据库表绑定。

Id:声明Id。

GeneratedValue(strategy = GenerationType.IDENTITY):数据库主键自增。

3.在dao中新建UserDao

UserDao需要继承JpaRepository, JpaSpecificationExecutor,

JpaRepository<>泛型的第二个参数与id有关,如findById(id)的id类型

public 
4.service层新建UserService
@Service
5.controller层
@RestController

@PathVariable注解的参数与@RequestMapping中value中的{}内参数一致。

四、测试

启动Application 之后,使用postman工具进行接口的测试。postman的使用教程查看另一偏博文。

1.新增

c1c3566e430a7138df381c5eb73a4f60.png

image

2.根据id属性删除,再次查询所有,会发现少了一条

6eae4c4248b054719af31498b604db7d.png

image

3.根据id属性修改,再次查询所有,会发现已经改变。

ca3b88c9e5c188c1e1f5ae9fbc47fd24.png

image

4.查询所有

eb535ea147107d5806d42bbee56aa6d5.png

image

5.根据id属性查询

8480755eadebf0bb1c047607194c8854.png

image

6.条件+age排序查询

a03a73638b8c91b86c51c6d61bdb9efa.png

image

6.条件+age排序+分页查询

92674a9560101a12eee681e09dd02593.png

image

经过上面的例子可以发现,增删改查的url都是同一个,即localhost:8080/user, 如果有一些简单的条件,则放到它的后面作为条件。作为区别,使用了不同的请求方式,如Post,Get,Put,Delete等。

本文GitHub源码:https://github.com/lixianguo5097/springboot/tree/master/springboot-jpa


(完)

[最近发表]

Springboot整合多数据源以及多数据源中的事务处理(附源码)

Git 从入门到精通,这篇包教包会!

SpringBoot+Vue 前后端分离开发首秀

具有完整讲解文档的7个Java开源项目,值得一学!

SQL 性能优化,太太太太太太太有用了!

面试:HashMap 夺命二十一问!

阿里官方Redis开发规范!

我去!原来单点登录这么简单,这下糗大了!

SQL 语法速成手册

数据量很大,分页查询很慢,有什么优化方案?

讲述:一个月薪 12000 的北京程序员的真实生活

数据持久化框架为什么放弃 Hibernate、JPA、Mybatis,最终选择 JDBCTemplate!

38b1e43a2c6c7eef181ac6c0edcd6107.png

长按关注,学习Java

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值