IntelliJ IDEA 创建Spring Boot 项目整合jdbc详细步骤

IntelliJ IDEA 创建Spring Boot 项目&整合jdbc详细步骤

  • 1、打开 IntelliJ IDEA 软件
  • 2、使用 "Spring Initializr" 作为项目类型,新建项目工程
  • 3、选择对应的SpringBoot版本和依赖
  • 4、Spring Boot 项目的结构
  • 5、创建一个TestController,并运行
  • 6、整合jdbc,并查询mysql数据
  • 7、创建数据访问对象(DAO)
  • 8、控制器调用查询方法


💖The Begin💖点点关注,收藏不迷路💖

1、打开 IntelliJ IDEA 软件

在欢迎界面或菜单栏中选择 “File” -> “New” -> “Project”。

在这里插入图片描述

2、使用 “Spring Initializr” 作为项目类型,新建项目工程

在弹出的 “New Project” 窗口中,选择 “Spring Initializr” 作为项目类型,然后点击 “Next”

Spring Initializr 是一个用于快速创建 Spring Boot 项目的Web工具。它提供了一个简单易用的界面,让开发人员可以选择项目的基本信息、依赖项和版本等,然后生成一个基础的 Spring Boot 项目结构。

在这里插入图片描述

在下一个窗口中,填写项目的基本信息:

Name:项目的显示名称,例如 DemoProject
Location:项目的存放路径
Language:选择项目的主要编程语言
Group:项目的组织标识,例如 com.example
Artifact:项目的名称,例如 demo
Package name:项目的包名,一般为 Group + Artifact 的组合
Java:选择项目所使用的 Java 版本
JDK:选择项目所使用的 JDK 版本

3、选择对应的SpringBoot版本和依赖

点击 “Next” 进入下一步。选择对应的SpringBoot版本

Spring Boot:选择 Spring Boot 的版本

在下一个窗口中,选择项目的依赖项。你可以选择需要的依赖,比如 Spring Web、Spring Data JPA、Thymeleaf 等。点击 “Next”。

在这里插入图片描述

然后点击 “Create”,IntelliJ IDEA 将会自动下载所需的依赖并创建项目结构。

4、Spring Boot 项目的结构

创建完成后,你可以在项目中看到自动生成的 Spring Boot 项目结构,包括主应用程序类(Main Application Class)、配置文件(application.properties 或 application.yml)等。

在这里插入图片描述

可以右键点击主应用程序类,选择 “Run ‘DemoApplication’” 来运行 Spring Boot 项目。
在这里插入图片描述

5、创建一个TestController,并运行

控制器(Controller)类用于处理测试请求和返回测试数据。在 Spring 框架中,控制器类通常用于接收来自前端的请求,并根据请求的内容执行相应的业务逻辑,然后返回数据给前端。

在这里插入图片描述

以下是一个简单的示例 TestController 类的代码

package com.example.demo.Controller;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/zyl")
public class TestController {@GetMapping("/hello")public String hello() {return "Hello, World!";}@GetMapping("/test")public String test() {return "This is a test endpoint.";}
}

在上面的示例中,TestController 类是一个标记为 @RestController 的控制器类,它包含了两个简单的 GET 请求处理方法 hello() 和 test()。当访问 /hello 路径时,hello() 方法会返回字符串 “Hello, World!”;当访问 /test 路径时,test() 方法会返回字符串 “This is a test endpoint.”。

通过创建类似这样的控制器类,你可以定义不同的请求处理方法来处理不同的请求,并返回相应的数据给客户端。在实际开发中,你可以根据具体的业务需求来编写更复杂的控制器类,处理更多种类的请求,并返回更丰富的数据。

重新运行DemoApplication启动类,访问 :

http://localhost:8080/zyl/test

在这里插入图片描述

http://localhost:8080/zyl/hello

在这里插入图片描述

6、整合jdbc,并查询mysql数据

要在 Spring Boot 项目中整合 JDBC 并查询 MySQL 数据库,需要添加 MySQL JDBC 驱动依赖:首先,在项目的 pom.xml 文件中添加 MySQL JDBC 驱动的依赖。

  • <dependencies> 标签内添加以下依赖:
 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.32</version></dependency>

点击右上角的加载项,把依赖加载完成。

在这里插入图片描述

  • 配置 MySQL 数据库连接信息

在 Spring Boot 项目中,你可以通过两种方式配置 MySQL 数据库连接信息,分别是使用 application.properties 文件和使用 application.yml 文件。下面我将分别介绍这两种方式的配置方法:

1. 使用 application.properties 文件配置 MySQL 连接

在 src/main/resources 目录下名为 application.properties 的文件,并在该文件中添加以下配置:

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

2. 使用 application.yml 文件配置 MySQL 连接
在 src/main/resources 目录下创建一个名为 application.yml 的文件,并在该文件中添加以下配置:

spring:datasource:url: jdbc:mysql://192.168.234.10:3306/db_zyl?   useUnicode=true&characterEncoding=utf8username: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Driver

无论是使用 application.properties 还是 application.yml 文件,都可以用来配置 MySQL 数据库连接信息。选择其中一种方式进行配置即可,Spring Boot 会自动读取并加载这些配置信息,以便连接到指定的 MySQL 数据库。

7、创建数据访问对象(DAO)

创建一个数据访问对象(DAO)类,用于执行 SQL 查询操作。使用 JdbcTemplate 来执行 SQL 查询。

在这里插入图片描述

package com.example.demo.Dao;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;import java.util.List;
import java.util.Map;@Repository
public class TagsDao {@Autowiredprivate JdbcTemplate jdbcTemplate;public List<Map<String,Object>> getTagsAll() {String sql = "SELECT * FROM b_tags";return jdbcTemplate.queryForList(sql);}
}

8、控制器调用查询方法

在服务类或控制器中调用 DAO 类中的查询方法,获取查询结果并进行处理,例如TestController 调用:

package com.example.demo.Controller;import com.example.demo.Dao.TagsDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;
import java.util.Map;@RestController
@RequestMapping("/zyl")
public class TestController {@Autowiredprivate TagsDao tagsDao;@GetMapping("/hello")public String hello() {return "Hello, World!";}//查询TagsList@RequestMapping("/getTagsList")public List<Map<String, Object>> getTagsList() {return tagsDao.getTagsAll();}
}

重新运行DemoApplication启动类,访问 :

http://localhost:8080/zyl/getTagsList

在这里插入图片描述
通过以上步骤,你可以在 Spring Boot 项目中整合 JDBC 并查询 MySQL 数据。

在这里插入图片描述


💖The End💖点点关注,收藏不迷路💖

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

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

相关文章

Opencv实战(2)绘图与图像操作

Opencv实战(2)绘图与图像操作 指路前文&#xff1a;Opencv实战(1)读取与像素操作 三、基本绘图 文章目录 Opencv实战(2)绘图与图像操作三、基本绘图(1).line(2).rectangle(3).circle 四、图像处理(1).颜色空间1.意义2.cvtColor()3.inRange()4.适应光线 (2).形态操作1.腐蚀2.膨…

Spring中的ApplicationContext.publishEvent

简单理解 其实就是监听处理。比如找工作平台上&#xff0c;雇主 employer 发布自己的雇佣条件&#xff0c;目的是平台中有符合条件的求职者时&#xff0c;及时向雇主推荐。求职者发布简历&#xff0c;当平台发现某个求职者比较符合条件&#xff0c;就触发被动&#xff0c;推荐…

uni-app 经验分享,从入门到离职(五)——由浅入深 uni-app 数据缓存

文章目录 &#x1f4cb;前言⏬关于专栏 &#x1f3af;什么是数据存储&#x1f9e9;数据存储——存储&#x1f4cc; uni.setStorage(OBJECT)&#x1f4cc; uni.setStorageSync(KEY,DATA) &#x1f9e9;数据存储——获取&#x1f4cc; uni.getStorage(OBJECT)&#x1f4cc; uni.g…

vue 动态渲染本地图片不显示的解决方法

代码更改前 <img class"img" :src"/assets/images/${syntheticalGrade}.png" />data(){return{syntheticalGrade:"1"} }效果图&#xff1a; 解决代码 <img class"img" :src"require(/assets/images/${syntheticalGrad…

Atcoder ABC340 A-D题解

比赛链接:ABC340 话不多说&#xff0c;看题。 Problem A: 签到。 #include <bits/stdc.h> using namespace std; int main(){int a,b,d;cin>>a>>b>>d;for(int ia;i<b;id)cout<<i<<endl;return 0; } Problem B: 还是签到题。一个v…

2024-02-21 作业

作业要求&#xff1a; 复习课上内容 //已完成结构体字节对齐&#xff0c;64位没做完的做完&#xff0c;32位重新都做一遍&#xff0c;课上指定2字节对齐的做一遍&#xff0c;自己验证 //已完成两种验证大小端对齐的代码写一遍复习指针内容 //已完成完善顺序表已写出的…

记录 使用FFMPEG 笔记本摄像头推流

一、使用 FFMPEG 测试摄像头拉流显示 # 获取摄像头名称 ffmpeg -list_devices true -f dshow -i dummy# 我笔记本上的摄像头名称如下 device_pnp_\\?\usb#vid_0408&pid_1020&mi_00#6&199e90f7&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global# 使…

Python之Matplotlib

Matplotlib 是一个综合库&#xff0c;用于创建静态、动画、 和交互式可视化 安装 pip install matplotlib 功能 示例 import matplotlib.pyplot as plt plt.figure() plt.plot([1,2,3],[10,20,30]) plt.show() 官方文档&#xff1a; Matplotlib — Visualization with Pyt…

多窗口编程

六、多窗口编程 QMessageBox消息对话框&#xff08;掌握&#xff09; QMessageBox继承自QDialog&#xff0c;显示一个模态对话框。用于用户前台信息通知或询问用户问题&#xff0c;并接收问题答案。 QDialog的Qt源码中&#xff0c;派生类往往都是一些在特定场合下使用的预设好的…

MySQL数据库集群技术主从复制 一主一从详细讲解

集群技术 集群概述 MySQL复制技术 集群目的 负载均衡 解决高并发 高可用HA 服务可用性 远程灾备 数据有效性 类型 一主一从 一主双从 双主双从 原理 概念 在主库上把数据更改&#xff08;DDL DML DCL&#xff09;记录到二进制日志&#xff08;Binary Log&#xff09;中…

电路设计(28)——交通灯控制器的multisim仿真

1.功能设定 南北、东西两道的红灯时间、绿灯时间均为24S&#xff0c;数码管显示倒计时。在绿灯的最后5S内&#xff0c;黄灯闪烁。有夜间模式&#xff1a;按下按键进入夜间模式。在夜间模式下&#xff0c;数码管显示计数最大值&#xff0c;两个方向的黄灯不停闪烁。 2.电路设计 …

【EI会议征稿通知】2024年软件自动化与程序分析国际学术会议(SAPA 2024)

2024年软件自动化与程序分析国际学术会议&#xff08;SAPA 2024) 2024 International Conference on Software Automation and Program Analysis 在当今科技社会中&#xff0c;软件产业呈快速发展趋势&#xff0c;软件自动化与程序分析技术在提高软件质量、降低开发成本、提升…

fpga_cpu加速

一 cpu流水线执行指令 二 计算机体系结构 注&#xff1a;ARM就是典型的哈佛结构 三 cpu加速 同样采用流水线&#xff0c;哈佛结构的指令效率更高&#xff0c;通过指令预取&#xff0c;提高了流水线的并行度。

ROS1查看版本

目录 方法一方法二 方法一 rosversion -d方法二

[AutoSar]BSW_Com1 Can通信入门

目录 关键词平台说明一、车身CAN简介二、相关模块三、Can报文分类及信号流路径3.1 应用报文3.2 应用报文&#xff08;多路复用multiplexer&#xff09;3.3 诊断报文3.4 网络管理报文3.5 XCP报文&#xff08;标定报文&#xff09; 关键词 嵌入式、C语言、autosar、OS、BSW 平台…

微服务学习

一、服务注册发现 服务注册就是维护一个登记簿&#xff0c;它管理系统内所有的服务地址。当新的服务启动后&#xff0c;它会向登记簿交待自己的地址信息。服务的依赖方直接向登记簿要Service Provider地址就行了。当下用于服务注册的工具非常多ZooKeeper&#xff0c;Consul&am…

RT-Thread 时钟 timer delay 相关

前言 此处,介绍对delay 时钟 timer 这几部分之间的关联和相关的知识点;本来只是想介绍一下 delay的,但是发现说到delay 不先 提到 先验知识 晶振\时钟\时钟节拍\定时器 好像没法解释透彻,所以就变成了 晶振\时钟\时钟节拍\定时器\delay 的很简单的概括一遍;并附带上能直接运行的…

软件性能测试和功能测试有何联系和区别?第三方软件检测机构简析

软件性能测试和功能测试是软件开发过程中非常重要的两个环节。从根本上说&#xff0c;它们都是为了保证软件质量和可靠性&#xff0c;但它们的目标和方法却有所不同。 软件性能测试是评估软件在特定负载下的性能表现&#xff0c;包括响应时间、吞吐量、并发能力等指标。它通过…

LeetCode刷题日志-200.岛屿数量

思路&#xff1a; 遍历二维数组&#xff0c;每当遇到一个‘1’进行一次dfs&#xff0c;根据规则&#xff0c;将本次dfs到的所有元素标记为‘0’&#xff08;放置重复dfs&#xff0c;并且能dfs到的元素一定是与当前遍历到的元素属于统一岛屿。&#xff09;最后&#xff0c;dfs的…

Python isinstance函数

在Python编程中&#xff0c;isinstance()函数是一个常用的内置函数之一。它用于检查一个对象是否是某个类&#xff08;或者某个类的子类&#xff09;的实例。这个函数非常有用&#xff0c;可以在编写代码时进行类型检查&#xff0c;确保代码的健壮性和可靠性。本文将深入探讨Py…