boot spring 接口接收数据_基于 Spring Boot 实现 Restful 风格接口,实现增删改查功能...
优质文章,及时送达
Spring Boot介绍
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
简单的来说就是,只需几个jar和一些简单的配置,就可以快速开发项目。
假如我就想简单的开发一个对外的接口,那么只需要以下代码就可以了。
一个主程序启动Spring Boot
@SpringBootApplicationpublic class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}}
控制层
@RestControllerpublic class HelloWorldController {@RequestMapping("/hello")public String index {return "Hello World";}}
成功启动主程序之后,编写控制层,然后在浏览器输入 http://localhost:8080//hello 便可以查看信息。
感觉使用SpringBoot开发程序是不是非常的简单呢!用SpringBoot实战的话来说:
这里没有配置,没有web.xml,没有构建说明,甚至没有应用服务器,但这就是整个应用程序了。SpringBoot会搞定执行应用程序所需的各种后勤工作,你只要搞定应用程序的代码就好。
基于SpringBoot开发一个Restful服务
一、开发准备
1.1 数据库和表
首先,我们需要在MySql中创建一个数据库和一张表
数据库的名称为 springboot,表名称为t_user
脚本如下:
CREATE DATABASE `springboot`;
USE `springboot`;
DROP TABLE IF EXISTS `t_user`;
CREATE TABLE `t_user` (`id` int(11) NOT AUTO_INCREMENT COMMENT 'id',`name` varchar(10) DEFAULT COMMENT '姓名',`age` int(2) DEFAULT COMMENT '年龄',PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;
1.2 maven相关依赖
因为我们使用Maven创建的,所以需要添加SpringBoot的相关架包。
这里Maven的配置如下:
springBoot最核心的jar
spring-boot-starter :核心模块,包括自动配置支持、日志和YAML;
org.springframework.bootspring-boot-starter-parent1.5.9.RELEASE
UTF-81.71.2.05.1.39
org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-thymeleaforg.springframework.bootspring-boot-starter-data-jpaorg.springframework.bootspring-boot-devtoolstrueorg.springframework.bootspring-boot-starter-testtestorg.mybatis.spring.bootmybatis-spring-boot-starter${mybatis-spring-boot}mysqlmysql-connector-java${mysql-connector}
org.springframework.bootspring-boot-maven-plugintrue
二、工程说明
成功创建好数据库以及下载好相应架包之后。我们来正式开发SpringBoot项目。
2.1工程结构图:
首先确定工程结构,这里我就简单的说明下了。
com.pancm.web - Controller 层
com.pancm.dao - 数据操作层 DAO
com.pancm.bean - 实体类
com.pancm.service - 业务逻辑层
Application - 应用启动类
application.properties - 应用配置文件,应用启动会自动读取配置
2.2 自定义配置文件
一般我们需要一些自定义的配置,例如配置jdbc的连接配置,在这里我们可以用 application.properties进行配置。数据源实际的配置以各位的为准。
#spring.datasource.url=jdbc:mysql://localhost:3306/springBoot?useUnicode=true&characterEncoding=utf8spring.datasource.username=rootspring.datasource.password=123456spring.datasource.driver-class-name=com.mysql.jdbc.Driver
## 配置为 com.pancm.bean 指向实体类包路径。mybatis.typeAliasesPackage=com.pancm.bean# 配置为 classpath 路径下 mapper 包下,* 代表会扫描所有 xml 文件。mybatis.mapperLocations=classpath:mapper/*.xml
三、代码编写
在创建好相关工程目录之后,我们开始来编写相应的代码。
3.1 实体类编写
由于我们这里只是用于测试,只在数据库中创建了一张t_user表,所以这里我们就只创建一个User实体类,里面的字段对应t_user表的字段。
示例代码如下:
public class User {
private int id;
private String name;
private int age;
public User{}public class User {
private int id;
private String name;
private int age;
public User{}
}
3.2 Dao层编写
在以前的Dao层这块,hibernate和mybatis 都可以使用注解或者使用mapper配置文件。在这里我们使用spring的JPA来完成基本的增删改查。
说明:
一般有两种方式实现与数据库实现CRUD:
第一种是xml的mapper配置。
第二种是使用注解,@Insert、@Select、@Update、@Delete 这些来完成。本篇使用的是第二种。
import org.apache.ibatis.annotations.Delete;import org.apache.ibatis.annotations.Insert;import org.apache.ibatis.annotations.Mapper;import org.apache.ibatis.annotations.Result;import org.apache.ibatis.annotations.Results;import org.apache.ibatis.annotations.Select;import org.apache.ibatis.annotations.Update;import org.springframework.data.repository.query.Param;import com.pancm.bean.User;
@Mapperpublic interface UserDao {
@Insert("insert into t_user(id,name,age) values (#{id},#{name},#{age})")void addUser(User user);
@Update("update t_user set name=#{name},age=#{age} where id=#{id}")void updateUser(User user);
@Delete("delete from t_user where id=#{id}")void deleteUser(int id);
@Select("SELECT id,name,age FROM t_user where name=#{userName}")User findByName(@Param("userName") String userName);
@Select("SELECT id,name,age FROM t_user")List findAll;}
说明:
mapper : 在接口上添加了这个注解表示这个接口是基于注解实现的CRUD。
Results: 返回的map结果集,property 表示User类的字段,column 表示对应数据库的字段。
Param:sql条件的字段。
Insert、Select、Update、Delete:对应数据库的增、查、改、删。
3.3 Service 业务逻辑层
这块和hibernate、mybatis的基本一样。
代码如下:接口
import com.pancm.bean.User;
public interface UserService {
boolean addUser(User user);
boolean updateUser(User user);
boolean deleteUser(int id);
User findUserByName(String userName);
List findAll;}
实现类
import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;
import com.pancm.bean.User;import com.pancm.dao.UserDao;import com.pancm.service.UserService;
@Servicepublic class UserServiceImpl implements UserService {@Autowiredprivate UserDao userDao;
@Overridepublic boolean addUser(User user) {boolean flag=false;try{userDao.addUser(user);flag=true;}catch(Exception e){e.printStackTrace;}return flag;}
@Overridepublic boolean updateUser(User user) {boolean flag=false;try{userDao.updateUser(user);flag=true;}catch(Exception e){e.printStackTrace;}return flag;}
@Overridepublic boolean deleteUser(int id) {boolean flag=false;try{userDao.deleteUser(id);flag=true;}catch(Exception e){e.printStackTrace;}return flag;}
@Overridepublic User findUserByName(String userName) {return userDao.findByName(userName);}
@Overridepublic List findAll {return userDao.findAll;}}
3.4 Controller 控制层
控制层这块和springMVC很像,但是相比而言要简洁不少。
说明:
RestController:默认类中的方法都会以json的格式返回。
RequestMapping: 接口路径配置。
method : 请求格式。
RequestParam: 请求参数。
具体实现如下:
import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;
import com.pancm.bean.User;import com.pancm.service.UserService;
@RestController@RequestMapping(value = "/api/user")public class UserRestController {@Autowiredprivate UserService userService;
@RequestMapping(value = "/user
boot spring 接口接收数据_基于 Spring Boot 实现 Restful 风格接口,实现增删改查功能...相关推荐
- springboot增删改查案例_大神基于SpringBoot开发一个Restful服务,实现增删改查功能...
前言 在去年的时候,在各种渠道中略微的了解了SpringBoot,在开发web项目的时候是如何的方便.快捷.但是当时并没有认真的去学习下,毕竟感觉自己在Struts和SpringMVC都用得不太熟练. ...
- 基于SpringBoot开发一个Restful服务,实现增删改查功能
点击上方"方志朋",选择"置顶公众号" 技术文章第一时间送达! 作者:虚无境 cnblogs.com/xuwujing/p/8260935.html 前言 在去 ...
- boot spring 接口接收数据_在 Spring Boot 中使用 Dataway 配置数据查询接口
Dataway介绍 Dataway 是基于 DataQL 服务聚合能力,为应用提供的一个接口配置工具.使得使用者无需开发任何代码就配置一个满足需求的接口. 整个接口配置.测试.冒烟.发布.一站式都通过 ...
- solr系列三:solr和spring整合并实现增删改查功能
在这篇文章中将通过代码带大家一步步实现spring和solrj的整合,并实现solrj的增删改查功能. 1.solrj的spring配置如下: <beans xmlns="http:/ ...
- ext store 数据修改_Go 数据存储篇(一):基于内存存储实现数据增删改查功能...
在 Web 编程中,经常需要处理用户请求数据,而用户请求数据的处理往往又涉及到数据存储与获取,支持存储数据的媒介很多,包括内存.文件系统.数据库等,接下来,学院君将花几个篇幅的教程来系统介绍 Go W ...
- 基于localstorage实现增删改查功能
本文以英雄联盟英雄列表中英雄的增删改查为例,介绍localstorage的增删改查功能 该图显示了增差功能,由于我将图片和英雄名字设置为相同的,所以这里输入英雄名字(我将其命名为1~100的数字)图片 ...
- java部门管理_系统管理模块_部门管理_实现基本的增删改查功能
系统管理模块_部门管理1_实现基本的增删改查功能 先不考虑上级部门 设计实体.表 1.设计实体 Department.java public classDepartment {privateLong ...
- JQuery Easyui/TopJUI 用JS创建数据表格并实现增删改查功能
JQuery Easyui/TopJUI 用JS创建数据表格并实现增删改查功能 JQuery Easyui/TopJUI 用JS创建数据表格并实现增删改查功能 html <table id=&q ...
- 保姆级Spring+Mybatis整合的简单增删改查功能实现
Springboot和Mybatis整合实现增删改查等 0.文章中pageHelper相关的操作是分页查询的东西与本文无关 1.首先创建一个Springboot的项目 1.1Java一般选择的是8,看 ...
最新文章
- 扎克伯格、张一鸣、宿华都公开道歉,AI算法不灵了吗?
- 美创企推出仅90斤的物流无人车,成本低至5000美元
- 终于有人把 5G 和边缘计算的关系说清楚了! | 技术头条
- 高性能MySQL(第2版)中文版pdf
- [Unity3D]Unity3D圣骑士当游戏开发商遭遇Mecanim动画系统
- 添加类库引用后,命名空间出错的解决方案
- JMeter压力测试教程(超详细小白版)
- Swing数独游戏(二):终盘生成之随机法
- android四大组件共性,Android四大组件及意图和意图过滤器
- 手机端和PC端开发区别
- arduino(16):使用ESP32的SPI接入PS2手柄,修改LIB解决ESP32兼容问题,setup进行while循环验证,直到加载成功,修改别人代码上传到github上。
- 3亿流量还能让Keep错几次?
- php下载太慢,迅雷下载速度慢的几种解决方法
- 淘宝电商评论数据可视化分析系统-电商评论分析系统
- 1060显卡支持dx12吗_P106矿卡魔改驱动修改及安装详解(含修改INF文件安装最新驱动,双独立显卡使用等)...
- Collectors.toList()的作用
- target is not existed: .page-component__scroll .el-scrollbar__wrap
- c++中的指数函数怎么写
- json转换工具Fastjson
- Java,第一次作业——解一元二次方程
热门文章
- @getmapping注解的作用_一口气说出6种,@Transactional注解的失效场景
- 2.9 迁移学习-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
- 手机单机游戏合集大概40个G
- 【PC工具】在线格式转换工具,视频格式转换,视频转gif工具
- Java springcloud B2B2C o2o多用户商城 springcloud架构 (十七)上传文件
- 自动化部署shell01
- Xamarin只言片语2——Xamarin下的web api操作
- Scala学习第五天数组
- 一个快速、高效的Levenshtein算法实现
- Exchange 数据库邮箱的修复