SpringBoot创建接口

news2024/9/28 15:31:08

目录

一、创建Spring Boot Project

(一)配置Spring Boot

(二)配置数据库连接,并启动tomcat

二、新建测试网页——这一步可以忽略,主要是测试配置是否成功

1.新建一个页面

2.创建TestController类

3.启动SpringbootpracticeApplication类——springboot中内置了tomcat

三、操作数据库前的配置

(一)创建pojo、dao、service包

(二)修改SpringbootpracticeApplication

(三)创建DogDao——添加注解

(四)创建DogDao.xml文件

(五)修改application.properties

(六)创建Service接口和实现类

1.DogService接口

2.DogServiceImpl实现类

四、单条数据新增

(一)DogDao

(二)DogDao.xml

(三)DogService

(四)DogServiceImpl

(五)DogController

(六)启动SpringbootpracticeApplication

五、单条数据修改

(一)DogDao

(二)DogDao.xml

(三)DogService

(四)DogServiceImpl

(五)DogController

(六)启动SpringbootpracticeApplication

六、单条数据删除

(一)DogDao

(二)DogDao.xml

(三)DogService

(四)DogServiceImpl

(五)DogController

(六)启动SpringbootpracticeApplication

七、查询所有狗狗信息

(一)DogDao

(二)DogDao.xml

(三)DogService

(四)DogServiceImpl

(五)DogController

(六)启动SpringbootpracticeApplication


一、创建Spring Boot Project

(一)配置Spring Boot

重启IDEA,如果External Libraries下面有一堆jar包,就说明配置成功

点击项目下面的main-java可以看到已经自动生成一些文件

此时如果运行SpringbootpracticeApplication这个类就会报错,因为还需要配置url

(二)配置数据库连接,并启动tomcat

#指定数据库名
spring.datasource.name=exam
#数据库驱动类
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.url=jdbc:mysql://192.168.180.141:3306/jdbcstudb

运行SpringbootpracticeApplication

tomcat启动成功!

二、新建测试网页——这一步可以忽略,主要是测试配置是否成功

注意:SpringbootpracticeApplication这个类必须在com.atguigu.kb21.springbootpractice的第一层目录,如果要创建其他类,就必须在com.atguigu.kb21.springbootpractice下方新建包下进行创建!!!

如下图所示:

1.新建一个页面

2.创建TestController类

package com.atguigu.kb21.springbootpractice.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping(value = "/hello")
public class TestController {

    @RequestMapping(value = "/index")
    public String test(){
        return "index";
    }
}

3.启动SpringbootpracticeApplication类——springboot中内置了tomcat

网页测试成功!

三、操作数据库前的配置

(一)创建pojo、dao、service包

        pojo包下的各种类的内容可以参考我之前的专栏——《JDBC学习》中的类,也可以用你自己的类。

(二)修改SpringbootpracticeApplication

添加注解

package com.atguigu.kb21.springbootpractice;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("com.atguigu.kb21.springbootpractice.dao")  // 扫描dao这个包
public class SpringbootpracticeApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringbootpracticeApplication.class, args);
    }
}

(三)创建DogDao——添加注解

package com.atguigu.kb21.springbootpractice.dao;

import com.atguigu.kb21.springbootpractice.pojo.Dog;
import org.springframework.stereotype.Repository;

@Repository
public interface DogDao{
}

(四)创建DogDao.xml文件

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.atguigu.kb21.springbootpractice.dao.DogDao">

</mapper>

(五)修改application.properties

mybatis.mapper-locations=classpath:/mappers/*.xml

(六)创建Service接口和实现类

1.DogService接口

package com.atguigu.kb21.springbootpractice.service;

import com.atguigu.kb21.springbootpractice.pojo.Dog;

public interface DogService {
}

2.DogServiceImpl实现类

package com.atguigu.kb21.springbootpractice.service;


import com.atguigu.kb21.springbootpractice.dao.DogDao;
import com.atguigu.kb21.springbootpractice.pojo.Dog;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

/**
 * 服务层 Service
 */
@Service
@Transactional
public class DogServiceImpl implements DogService{
    //有对象才能调用服务
    @Autowired  // 找到对象并且进行配置
    private DogDao dogDao;
}

四、单条数据新增

(一)DogDao

@Repository
public interface DogDao {

    // 新增一条狗狗信息
    Integer addDog(Dog dog);
}

(二)DogDao.xml

 <!--新增一条狗狗信息-->
    <insert id="addDog">
        insert into dog (name, health, love, strain, lytime)
        values (#{name}, #{health}, #{love}, #{strain}, now());
    </insert>

(三)DogService

public interface DogService {

    // 新增一条狗狗信息
    Integer addDog(Dog dog);
}

(四)DogServiceImpl

@Service
@Transactional
public class DogServiceImpl implements DogService{
    //有对象才能调用服务
    @Autowired  // 找到对象并且进行配置
    private DogDao dogDao;

    @Override   // 新增一条狗狗信息
    public Integer addDog(Dog dog) {
        return dogDao.addDog(dog);
    }
}

(五)DogController

@Controller
@RequestMapping(value = "/dog")
public class DogController {
    @Autowired  // 该注解可以自动将工程中所有符合DogService的对象赋值给变量dogService
    private DogService dogService;

    // 新增一条狗狗信息
    @GetMapping("/addDog")
    @ResponseBody
    public Integer addDog(Dog dog){
        Integer integer = dogService.addDog(dog);
        return integer;
    }
}

(六)启动SpringbootpracticeApplication

五、单条数据修改

(一)DogDao

  // 单条数据修改
    Integer updateDog(Dog dog);

(二)DogDao.xml

<update id="updateDog">
        update dog
        set name  = #{name},
            health=#{health}
        where id = #{id}
    </update>

(三)DogService

// 单条数据修改
    Integer updateDog(Dog dog);

(四)DogServiceImpl

@Override   // 单条数据修改
    public Integer updateDog(Dog dog) {
        return dogDao.updateDog(dog);
    }

(五)DogController

// 单条数据修改
    @GetMapping("/updateDog")
    @ResponseBody
    public Integer updateDog(Dog dog){
        Integer integer = dogService.updateDog(dog);
        return integer;
    }

(六)启动SpringbootpracticeApplication

六、单条数据删除

(一)DogDao

 // 单条数据删除
    Integer deleteDog(Integer id);

(二)DogDao.xml

<delete id="deleteDog">
        delete
        from dog
        where id = #{id};
    </delete>

(三)DogService

    // 单条数据删除
    Integer deleteDog(Integer id);

(四)DogServiceImpl

  @Override   // 单条数据删除
    public Integer deleteDog(Integer id) {
        return dogDao.deleteDog(id);
    }

(五)DogController

 // 单条数据删除
    @GetMapping("/deleteDog")
    @ResponseBody
    public Integer deleteDog(Integer id){
        Integer integer = dogService.deleteDog(id);
        return integer;
    }

(六)启动SpringbootpracticeApplication

七、查询所有狗狗信息

(一)DogDao

 // 查询所有狗狗信息
    List<Dog> getAllDog();

(二)DogDao.xml

 <!--查询所有狗狗信息-->
    <select id="getAllDog" resultType="com.atguigu.kb21.springbootpractice.pojo.Dog">
        select *
        from dog;
    </select>

(三)DogService

// 查询所有狗狗信息
    public List<Dog> getAllDog();

(四)DogServiceImpl

@Override   // 查询所有狗狗信息
    public List<Dog> getAllDog() {
        return dogDao.getAllDog();
    }

(五)DogController

// 查询所有狗狗信息
    @GetMapping("/getAllDog")
    @ResponseBody
    public List<Dog> getAllDog(){
        List<Dog> allDog = dogService.getAllDog();
        return allDog;
    }

(六)启动SpringbootpracticeApplication

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/186607.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】makemakefile

【Linux】make & makefile 文章目录【Linux】make & makefile1、makefile文件2、make命令3、make原理规则4、.PHONY5、编译与否的判断法1、makefile文件 makefile实际上是一个文件&#xff0c;配置文件 充当Linux上的工程管理工具&#xff0c;可以实现自动化编译 mak…

transformer库的思想

transformer库建立思路 (1) Model类: 如BertModel , 目前收录有超过30个PyTorch模型或Keras模型; (2) Configuration类: 如BertConfig , 用于存储搭建模型的参数; (3) Tokenizer类: 如BertTokenizer , 用于存储分词词汇表以及编码方式; 使用from_pretrained()和save_pretraine…

区块链知识系列 - 系统学习EVM(二)

特点 EVM出于所谓运算速度和效率方面考虑&#xff0c;采用了非主流的256bit整数。不支持浮点数缺乏标准库支持,例如字符串拼接、切割、查找等等都需要开发者自己实现给合约打补丁或是部分升级合约代码在EVM中是完全不可能的 存储 Code code 部署合约时储存 data 字段也就是合…

08-linux网络管理-iptables扩展模块

文章目录1. 概述2. icmp 模块2.1 示例&#xff08;禁止本机ping其它主机&#xff09;2.2 示例&#xff08;其他主机ping本机&#xff09;2.3 --icmp-type 说明3. iprange模块4. multiport 模块5. state 模块5.1 语法5.2 完整示例6. limit模块6.1 语法6.2 完整示例7. connlimit7…

[2019红帽杯]easyRE1题解

迷蒙马背眠&#xff0c;月随残梦天边远&#xff0c;淡淡起茶烟。 ——松尾芭蕉 目录 1.查壳 2.拖入64位IDA&#xff0c;找到主函数 3.静态分析主函数 4.wp 1.查壳 ELF文件&#xff0c;64bit 2.拖入64位IDA&#xff0c;找到主函数 没有标明main函数&#xff0c;我们打开str…

OSCP_VULHUB COVFEFE: 1

文章目录前言信息收集渗透过程权限提升前言 靶机下载地址&#xff1a;https://www.vulnhub.com/entry/covfefe-1,199/ 攻击机&#xff1a;kali&#xff08;192.168.132.139&#xff09; 靶机&#xff1a;covfefe&#xff08;192.168.132.146&#xff09; 下载好靶机之后直接使…

vivo 超大规模消息中间件实践之路

作者&#xff1a;vivo 互联网存储技术团队-Luo Mingbo、中间件团队- Liu Runyun 本文根据“2022 vivo开发者大会"现场演讲内容整理而成。 本文主要介绍超大数据规模场景下分布式消息中间件在vivo的应用实践。 在线业务侧主要从RocketMQ集群部署架构、平台系统架构、日常运…

EMC基础:电容的频率特性

本文将对其中使用电容和电感降噪的对策进行介绍&#xff0c;这也可以称为“噪声对策的基础”。在这里使用简单的四元件模型。如果要进一步表达高频谐振时&#xff0c;可能需要更多的元件模型。 电容的频率特性 探讨利用电容器来降低噪声时&#xff0c;充分了解电容器的特性是…

设计模式——软件设计原则

目录 3.软件设计原则 3.1 开闭原则 3.2 里氏代换原则 3.3 依赖倒转原则 3.4 接口隔离原则 3.5 迪米特法则 3.6 合成复用原则 3.软件设计原则 在软件开发中&#xff0c;为了提高软件系统的可维护性和可复用性&#xff0c;增加软件的可扩展性和灵活性&#xff0c;程序员要…

8、Servlet——Servlet生命周期、Servlet特性

目录 一、Servlet生命周期 1、生命周期的四个阶段 1.1 实例化 1.2 初始化 1.3 服务 1.4 销毁 2、Servlet执行流程 3、代码演示 二、 Servlet特性 1、线程安全问题 2、如何保证线程安全 一、Servlet生命周期 1、生命周期的四个阶段 1.1 实例化 当用户第一次访问Ser…

flutter裁剪三角形,并设置三角形最长边阴影(类似钉钉登录页右上角图标样式)

需求 需要使用flutter创建类似钉钉登录页右上角图表样式 过程 图标 图标直接从阿里巴巴图标库中下载png文件&#xff0c;并设置相应颜色 三角形阴影 样式的主要难点在三角形及三角形阴影这里 1、三角形的裁剪有两种方法&#xff1a; 第一种是 使用边框实现三角形 参考博客…

springboot自动加载--自定义启动器

创建自定义启动器 0、项目总览 1、创建项目&#xff0c;引入依赖 创建项目 spring-boot-jdbc-starter&#xff0c;引入依赖&#xff0c;pom文件如下&#xff1a; <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apa…

b站黑马Vue2后台管理项目笔记——(1)登录功能

说明&#xff1a; 此项目中使用的是本地SQL数据库&#xff0c;Vue2。 其他功能请见本人后续的其他相关文章。 本文内容实现的最终效果如下图&#xff1a; 目录 一&#xff0e;登录功能的实现 1.登录页面的布局&#xff1a; &#xff08;1&#xff09;查看当前工作区是否干净…

读锁应该插队吗?什么是锁的升降级?

背景 ReentrantReadWriteLock可以设置公平或非公平&#xff0c;为什么&#xff1f; 读锁插队策略 每次获取响应锁之前都要检查能否获取 readerShouldBlockwriterShouldBlock 公平锁 final boolean writerShouldBlock() {return hasQueuedPredecessors(); } final boolean …

打造智慧工地,低代码平台助力基建行业全链路数字化升级

编者按&#xff1a;基建行业数字化转型需求迫切&#xff0c;低代码平台有助于加快数字化转型速度&#xff0c;赋能建筑工程企业升级。本文分析了低代码在基建行业中的应用价值&#xff0c;并指出基建行业对于低代码平台的需求&#xff0c;最后通过相关案例的展示了低代码平台在…

低代码平台解读:“低代码+PaaS”的技术创新实践

数字化转型已经成为必然趋势&#xff0c;几乎所有传统行业都喊出了数字化转型的口号。但在数字化转型中&#xff0c;很多企业面临着成本高、周期长的难题。低代码是其中一种破解难题的方式&#xff0c;如今的低代码已经是企业数字化的核心引擎。 低代码平台越来越多&#xff0…

数据结构——链表(五)

数据结构 文章目录数据结构前言一、什么是链表二、实现单链表1.单链表的结构2.单链表的初始化3.单链表的插入4.遍历链表5.链表长度总结前言 接下来学习一下链表&#xff0c;链表比数组用的更多。 一、什么是链表 概念&#xff1a;链表是一种物理存储结构上非连续、非顺序的存…

《从0开始学大数据》之如何自己开发一个大数据SQL引擎

背景 大数据仓库 Hive&#xff0c;作为一个成功的大数据仓库&#xff0c;它将 SQL 语句转换成 MapReduce 执行过程&#xff0c;并把大数据应用的门槛下降到普通数据分析师和工程师就可以很快上手的地步。 但是 Hive 也有自己的问题&#xff0c;由于它使用自己定义的 Hive QL …

Linux常用命令——repquota命令

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) repquota 报表的格式输出磁盘空间限制的状态 补充说明 repquota命令以报表的格式输出指定分区&#xff0c;或者文件系统的磁盘配额信息。 语法 repquota(选项)(参数)选项 -a&#xff1a;列出在/etc/fstab文…

gRPC 基础(二)-- Go 语言版 gRPC-go

gRPC-Go Github gRPC的Go实现:一个高性能、开源、通用的RPC框架&#xff0c;将移动和HTTP/2放在首位。有关更多信息&#xff0c;请参阅Go gRPC文档&#xff0c;或直接进入快速入门。 一、快速入门 本指南通过一个简单的工作示例让您开始在Go中使用gRPC。 1.1 先决条件 Go:…