项目类分为: dao层 server层 controller层 Mapper → Server→ controller

mapper层(必须要用interface创建)

创建后,首先要在方法前加@Mapper 标明为Mapper类 告知Springboot,之后Springboot就能识别此类;

其次Mapper层主要写实现方法,可以理解为底层实现代码;  因此不需要@Autowired这种“自动引进”;

类似于:

@Select
@Insert
@Delete
@Update

这些替代了繁琐的JDBC代码,如果想实现增删改查的功能,直接在方法上添加如上参数,编写sql语句即可;

和preparestatement不同的是,替代?功能的是#{id}

其他:

Mapper层:

package com.example.demo.co;

import java.util.List;

import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.annotation.AliasFor; @Mapper //告知SpringBoot这是mapper层
public interface DeptMapper {
@Select("select * from dept")
List<Dept>selectALL(); @Insert("insert into dept (id,name,location)values(#{id},#{name},#{location})")
void insert(String string,String name,String location); @Select("select * from dept where id= #{id}") Dept userSelect(int id); // @Update("update `dept` set id ,name,location values(#{id},#{name},#{location})")
//
// Dept updateFromDept(int id,String name,String location); @Delete("delete from dept where id = #{id}") void deleteFromdept(int id);
}

Servce层:

创建后,首先要在方法前加@Service 标明为Service类 告知Springboot,之后Springboot就能识别此类;

@AutoWired  其实在启动spring IoC时,容器自动装载了一个AutowiredAnnotationBeanPostProcessor后置处理器,当容器扫描到@Autowied、@Resource或@Inject时,就会在IoC容器自动查找需要的bean,并装配给该对象的属性

注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 通过 @Autowired的使用来消除 set ,get方法。

1.interfaceService层接口

package com.example.demo;
import java.util.List; import org.springframework.stereotype.Service; import com.example.demo.gs.Move; @Service
public interface MoveService {
List<Move>selectFromService();
}

2.interface-Service-implement实现类

package com.example.demo.gs;

import java.util.List;

import javax.management.loading.PrivateClassLoader;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import com.example.demo.MoveMapper;
import com.example.demo.MoveService; @Service
public class MoveServiceImp implements MoveService {
@Autowired //注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 一般在contorller层使用
private MoveMapper mapper; //直接定义一个变量名就可以了; @Override
public List<Move> selectFromService() { return this.mapper.selectFromMes(); //this 直接引用作用域之外的变量
} }

Contorller层:

创建后,首先要在方法前加@RestController 标明为Controller类 告知Springboot,之后Springboot就能识别此类;

@GetMapping("/select")  servlet(“/select”)用法一样;

package com.example.demo.co;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController; @RestController
public class DeptController {
@Autowired

private DeptService service;

@GetMapping("/select")

List<Dept>selectSerlet(){

return this.service.selectFromService(); }

@GetMapping("/delete")

void deleteFromDept(int id) {

this.service.deletefromService(id); }
}

其他:

package com.example.demo;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; @RestController
public class UserController {
@Autowired
private UserService service; @GetMapping("/hello")
public String hello() {
return "Hello World";
} @GetMapping("/users")
public List<User> list() {
return this.service.list();
} @GetMapping("/users/load")
public User load1(@RequestParam("un") String username) {
return this.service.load(username);
} @GetMapping("/users/{username}.html")
public User load2(@PathVariable String username) {
return this.service.load(username);
} @PostMapping("/users")
public void save1(User user) { // 自动接收application/x-www-form-urlencoded格式的参数
System.out.println(user);
} @PostMapping("/users/json")
public ResponseEntity<String> save2(@RequestBody User user) { // @RequestBody的作用是告诉Spring: 请求体是JSON格式,请帮我反序列化成user对象
System.out.println(user);
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("服务器错误");
} }

SpringBoot简单快速入门操作的更多相关文章

  1. 【原创】SpringBoot & SpringCloud 快速入门学习笔记(完整示例)

    [原创]SpringBoot & SpringCloud 快速入门学习笔记(完整示例) 1月前在系统的学习SpringBoot和SpringCloud,同时整理了快速入门示例,方便能针对每个知 ...

  2. SpringBoot开发快速入门

    SpringBoot开发快速入门 目录 一.Spring Boot 入门 1.Spring Boot 简介 2.微服务 3.环境准备 1.maven设置: 2.IDEA设置 4.Spring Boot ...

  3. 01.JDBC操作数据库-快速入门操作

    /** * 简单入门操作 * 注:先将mysql-connector-java-5.1.36.jar 构建 Build Path环境当中去 * @param args * @throws Except ...

  4. SpringBoot介绍,快速入门小例子,目录结构,不同的启动方式,SpringBoot常用注解

    SpringBoot介绍 引言 为了使用ssm框架去开发,准备ssm框架的模板配置 为了Spring整合第三方框架,单独的去编写xml文件 导致ssm项目后期xml文件特别多,维护xml文件的成本也是 ...

  5. 【SpringBoot】快速入门

    博客主页:准Java全栈开发工程师 00年出生,即将进入职场闯荡,目标赚钱,可能会有人觉得我格局小.觉得俗,但不得不承认这个世界已经不再是以一条线来分割的平面,而是围绕财富旋转的球面,成为有钱人不是为 ...

  6. Shiro权限框架简单快速入门

    声明本文只适合初学者,本人也是刚接触而已,经过一段时间的研究小有收获,特来分享下希望和大家互相交流学习. 首先配置我们的web.xml代码如下: <filter> <filter-n ...

  7. JQuery快速入门-操作元素的属性和样式

    我们在学习JavaScript时,详细介绍了DOM对象.从DOM树可以得知,对DOM的操作,主要包括:元素的属性.内容.值.CSS. 一.元素属性的操作 在 jQuery 中,可以对元素的属性执行获取 ...

  8. SpringBoot的快速入门

    快速创建一个SpringBoot项目(两种方式:STS版本,IntelliJ IDEA) 1.STS方式:什么是STS?是Spring团队推荐使用的开发工具 所谓的sts就是eclipse升级版 继承 ...

  9. php-laravel4.0框架 简单快速入门

    前提必须已经安装好了laravel4.0版本. 写入权限: 安装完 Laravel ,你还需要为web服务器设置 app/storage 目录的写入权限. 目录结构: 安装完框架后,你需要熟悉一下该项 ...

随机推荐

  1. Canvas 线性图形(三):曲线

    前言 画曲线要用到二次贝塞尔曲线或三次贝塞尔曲线.贝塞尔曲线是计算机图形学中相当重要的参数曲线,在一些比较成熟的位图软件中也有贝塞尔曲线工具,如 PhotoShop. 二次贝塞尔曲线 二次贝塞尔曲线在 ...

  2. Word 文字错乱,接收方显示的字体与原版不一直

    原版文档使用字体的不是电脑上自带的常规字体,比如,黑软雅黑.黑体.宋体等字体.当把文档发送给其他人查阅时,字体发生了错乱,也就是字体与原版字体不一致. 需要打开"选项"设置,把非常 ...

  3. StarRocks 运维工具 StarGo

    注:本文主要内容均来源 StarRocks 官网 https://docs.starrocks.com/zh-cn/main/administration/stargo StarGo 是一个用于管理多 ...

  4. 用maven创建ssm框架样版

    在pom.xml中添加依赖包 特别要注意导入的"org.springframework"的版本,不兼容会报错 <!--依赖:junit ,数据库驱动,连接池,servlet, ...

  5. 第十章 Kubernetes的CNI网络插件--flannel

    1.简介 1.1前言 Kubernetes设计了网络模型,但却将它的实现讲给了网络插件,CNI网络插件最重要的功能就是实现Pod资源能够跨主机通信 常见的CNI网络插件如下: Flannel: Cac ...

  6. 仙人指路,引而不发,Go lang1.18入门精炼教程,由白丁入鸿儒,Golang中New和Make函数的使用背景和区别EP16

    Golang只有二十五个系统保留关键字,二十几个系统内置函数,加起来只有五十个左右需要记住的关键字,纵观编程宇宙,无人能出其右.其中还有一些保留关键字属于"锦上添花",什么叫锦上添 ...

  7. 硬核解析MySQL的MVCC实现原理,面试官看了都直呼内行

    1. 什么是MVCC MVCC全称是Multi-Version Concurrency Control(多版本并发控制),是一种并发控制的方法,通过维护一个数据的多个版本,减少读写操作的冲突. 如果没 ...

  8. 项目管理构建工具——Maven(基础篇)

    项目管理构建工具--Maven(基础篇) 在前面的内容中我们学习了JDBC并且接触到了jar包概念 在后面我们的实际开发中会接触到很多jar包,jar包的导入需要到互联网上进行就会导致操作繁琐 Mav ...

  9. 【面试题】JS使用parseInt()、正则截取字符串中数字

    JS使用parseInt()和正则截取字符串中数字 点击打开视频讲解更加详细 parseInt() 函数 定义和用法 parseInt() 函数可解析一个字符串,并返回一个整数. 当参数 radix ...

  10. Elasticsearch与MySQL对应关系表

    MySQL 中的数据库(DataBase),等价于 ES 中的索引(Index). MySQL 中一个数据库下面有 N 张表(Table),等价于1个索引 Index 下面有 N 多类型(Type). ...