SpringBoot读取mysql

news2025/1/19 8:19:11

SpringBoot读取mysql

  • 部署mysql
  • 创建SpringBoot工程
  • 增加mysql8依赖
  • 创建Service代码
  • 执行验证

部署mysql

部署mysql可以通过软件安装,也可以通过docker安装,具体的安装过程可以参考以前的一篇博文,这里不再重复。
《眼睛说:我会用docker部署MySQL8了;手说:不,你不会》

创建SpringBoot工程

创建SpringBoot工程可以参考之前的一篇博文,这里不再重复
《用SpringBoot实现post和get请求》
按照文档部署完成后,你应该就有一个可以正常执行get和post请求的工程了。

增加mysql8依赖

SpringBoot要访问mysql8,需要先增加pom依赖。

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.23</version>
        </dependency>

    </dependencies>

spring-boot-starter-jdbc是jdbc驱动
mysql-connector-java是jdbcTemplate依赖

创建Service代码

根据规范,服务逻辑的处理需要放在Service层中,目前还没有太多的内容,因此暂时不创建dao层。但是要知道直接在service层访问数据库是不合适的。
创建service层,并创建sevice类,创建完成后的目录结构如图:
在这里插入图片描述
代码如下:

package net.csdn.blog.xiaoma.example.springboot.controllerdemo.controllerdemo.services;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class AppDemoService {
    @Autowired
    private JdbcTemplate jdbcTemplate;

    public List get() {
        String sql = "select * from student";

        List list = jdbcTemplate.queryForList(sql);
        System.out.println(list.size());

        return list;
    }
}

Controller中增加对service的调用

package net.csdn.blog.xiaoma.example.springboot.controllerdemo.controllerdemo.controller;

import net.csdn.blog.xiaoma.example.springboot.controllerdemo.controllerdemo.services.AppDemoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

@Controller
@RequestMapping("/demo")
@RestController
public class AppDemoController {
    @Autowired
    private AppDemoService appDemoService;
    @PostMapping("/postMessage")
    public String postMessage(@RequestBody String postMsg) {
        return "post的消息是" + postMsg;
    }

    @RequestMapping(value="/get/{name}",method = RequestMethod.GET)
    public String get(@PathVariable("name") String name ) {
        System.out.println("getMsg=" + name);
        return "hello,请求参数是:" + name;
    }
    @RequestMapping(value="/queryTB/{tableName}",method = RequestMethod.GET)
    public String query(@PathVariable("tableName") String tableName ) {
        System.out.println("getMsg=" + tableName);
        return appDemoService.get().toString();
    }
}

编写完成后启动服务

执行验证

执行验证后,可以通过http://127.0.0.1:8080/demo/queryTB/student查看效果,其中student是表名。
在这里插入图片描述

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

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

相关文章

软考A计划-系统集成项目管理工程师-项目合同管理-下

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 &#x1f449;关于作者 专注于Android/Unity和各种游…

大模型时代下,算法工程师发展趋势及技术拓展

本文目录 写在前面的话一、人工智能算法工程师的每个阶段是怎么样的&#xff1f;阶段一&#xff1a;模式识别阶段&#xff08;1&#xff09;传统机器学习--支持向量机&#xff08;2&#xff09;传统机器学习--隐马尔可夫模型&#xff08;3&#xff09;新的开始&#xff01;--Al…

小鹏智驾一号位换帅,接棒者李力耘其人

作者 | 张祥威编辑 | 德新 8月2日&#xff0c;小鹏汽车自动驾驶副总裁吴新宙将离职的消息在业界刷屏。到晚间&#xff0c;何小鹏发文确认了这一消息。 接下来&#xff0c;何小鹏将亲自带领自动驾驶和研发团队&#xff0c;为在今年年内完成 CNGP覆盖 50 城的努力&#xff0c;并且…

WEB集群——http、tomcat

1. 简述静态网页和动态网页的区别。 2. 简述 Webl.0 和 Web2.0 的区别。 3. 安装tomcat8&#xff0c;配置服务启动脚本&#xff0c;部署jpress应用。 1. 简述静态网页和动态网页的区别。 1&#xff09;、静态网页 &#xff08;1&#xff09;、什么是静态网页 请求响应信息&…

一文说清楚支付架构

作者&#xff1a;陈斌 支付的技术架构是为了保障能够顺利处理支付请求而设计的结构体系。从系统的角度看&#xff0c;它包括了计算机系统的软件、硬件、网络和数据等。从参与的主体角度来看&#xff0c;它涉及交易的付款方、收款方、支付机构、银行、卡组织和金融监管机构等。要…

批量计算直角三角形两个直角边对应斜边的numpy.hypot()方法

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 给出多个三角形的两条直角边长度 批量计算出这些三角形的斜边长度 numpy.hypot() [太阳]选择题 以下代码的输出结果是? import numpy as np a np.array([3, 4, 30]) b np.array([4, 3, 40])…

第四章 数据库安全性

问题的提出 &#xff08;1&#xff09;数据库的一大特点是数据可以共享 &#xff08;2&#xff09;数据共享必然带来数据库的安全性问题 &#xff08;3&#xff09;数据库系统中的数据共享不能是无条件的共享 这就引发了数据库安全性问题 1.数据库安全性概述 数据库的安全性…

基于SpringBoot+Vue的漫画网站设计与实现(源码+LW+部署文档等)

博主介绍&#xff1a; 大家好&#xff0c;我是一名在Java圈混迹十余年的程序员&#xff0c;精通Java编程语言&#xff0c;同时也熟练掌握微信小程序、Python和Android等技术&#xff0c;能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…

利用 Python 结合 UI 来模拟实现多人聊天

一、界面功能展示 1、设置一个通信 用户1 2、设置通信 用户2 3、进入聊天功能界面 4、发送信息来实现实时通信 二、代码实现 1、服务器端 &#xff08;服务器需要能够与客户机进行直接通信&#xff0c;客户机之间不需要能够通信&#xff09; 服务器需要配置监听的IP 0.0.…

改进粒子群算法优化BP神经网络---回归+分类两种案例

今天采用改进的粒子群算法(LPSO)优化算法优化BP神经网络。本文选用的LPSO算法是之前作者写过的一篇文章&#xff1a;基于改进莱维飞行和混沌映射&#xff08;10种混沌映射随意切换&#xff09;的粒子群优化算法&#xff0c;附matlab代码 文章一次性讲解两种案例&#xff0c;回归…

Mr. Cappuccino的第58杯咖啡——MacOS配置Maven和Java环境

MacOS配置Maven和Java环境 查看Mac使用的是哪个shell下载并准备Maven下载Maven配置前准备 下载并安装JDK下载JDK安装JDK 配置Maven和Java环境添加配置加载配置 验证环境 查看Mac使用的是哪个shell echo $SHELL如果使用的是bash&#xff0c;则使用以下命令 open ~/.bash_profi…

Java课题笔记~ MyBatis接口开发(代理开发)

使用XML文件进行开发&#xff0c;在调用SqlSession进行操作时&#xff0c;需要指定MyBatis映射文件中的方法&#xff0c;这种调用方式过于烦琐。为解决此问题&#xff0c;MyBatis提供了接口开发的方式。 接口开发的目的&#xff1a; 解决原生方式中的硬编码 简化后期执行SQL …

PHP语言基础知识(超详细)

文章目录 前言第一章 PHP语言学习介绍 1.1 PHP部署安装环境1.2 PHP代码工具选择 第二章 PHP代码基本语法 2.1 PHP函数知识介绍2.2 PHP常量变量介绍 2.2.1 PHP变量知识&#xff1a;2.2.2 PHP常量知识&#xff1a; 2.3 PHP注释信息介绍2.4 PHP数据类型介绍 2.4.1 整形数据类型2.4…

【elementui】解决el-select组件失去焦点blur事件每次获取的是上一次选中值的问题

目录 【问题描述】 【问题摘要】 【分析问题】 【完整Test代码】 【封装自定义指令】 ↑↑↑↑↑↑↑↑↑↑↑↑ 不想看解决问题过程的可点击上方【封装自定义指令】目录直接跳转获取结果即可~~~ 【问题描述】 一位朋友遇到这么一个开发场景&#xff1a;在表格里面嵌入el-…

Packet Tracer - 配置初始交换机设置

Packet Tracer - 配置初始交换机设置 拓扑 目标 第 1 部分&#xff1a;检验默认交换机配置 第 2 部分&#xff1a;配置基本交换机配置 第 3 部分&#xff1a;配置 MOTD 标语 第 4 部分&#xff1a;将配置文件保存到 NVRAM 第 5 部分&#xff1a;配置 S2 拓扑图 背景信息…

【Mybatis】XML映射文件

目录 11.3XML映射文件 1.select 2.insert、update、delete 3.Sql 4.parameters(参数) 5.resultMap 6.resultMap 使用示例 (1)在先前创建的数据库stu中创建表student 2&#xff0c;并插入若干条数据&#xff0c;代码如下&#xff1a; (2)创建工程mybatis_ResultMap_demo。 (…

Qt项目---简单的计算器

在这篇技术博客中&#xff0c;我们将介绍如何使用Qt框架实现一个简单的计算器应用。我们将使用C编程语言和Qt的图形用户界面库来开发这个应用&#xff0c;并展示如何实现基本的算术操作。 项目设置 首先&#xff0c;我们需要在Qt Creator中创建一个新的Qt Widgets应用程序项目…

7.物联网操作系统互斥信号量

优先级翻转问题 优先级翻转功能需求 优先级翻转功能实现 一。实验&#xff1a;优先级翻转问题 1.优先级翻转的解释 &#xff08;1&#xff09;有三个任务&#xff0c;一个任务L优先级最低&#xff0c;一个任务M优先级为中间&#xff0c;一个任务H优先级为最高。 &#xff08…

SpringBoot集成企业微信群聊机器人消息

目录 参考文档概述一、功能作用二、应用场景三、 群机器人发送限制四、创建机器人1、添加2、群机器人Webhook地址 五、发送消息1、文本 text请求体 图文连接 news 参考文档 官方文档 企业微信群机器人应用 概述 现在很多企业都在使用企业微信进行工作交流&#xff0c;自从企…

静态路由下一跳地址怎么确定(静态路由配置及讲解)

一、用到的所有命令及功能 ①ip route-static 到达网络地址 子网掩码 下一跳 // 配置静态路由下一跳指的是和当前网络直接连接的路由器的接口地址非直连网段必须全部做路由路径是手工指定的&#xff0c;在大规模网络上不能用&#xff0c;效率低&#xff0c;路径是固定的稳定的…