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=utf8
    username: root
    password: 123456
    driver-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 {
    @Autowired
    private 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 {
    @Autowired
    private 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💖点点关注,收藏不迷路💖

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++力扣题目 392--判断子序列 115--不同的子序列 583--两个字符串的删除操作 72--编辑操作

392.判断子序列 力扣题目链接(opens new window) 给定字符串 s 和 t &#xff0c;判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些&#xff08;也可以不删除&#xff09;字符而不改变剩余字符相对位置形成的新字符串。&#xff08;例如&#xff0c;&quo…

开发技术-Java 获取集合中元素下标并移动至指定位置

1. 说明 某些业务需要特定的元素在列表的最后或者指定位置展示。 2. 代码 import lombok.AllArgsConstructor; import lombok.Data;import java.util.*; import java.util.stream.Collectors; import java.util.stream.IntStream;Data AllArgsConstructor class Student {St…

智能图书馆开源项目

结尾有项目链接 技术栈介绍 ☃️前端主要技术栈 技术作用版本Vue提供前端交互2.6.14Vue-Router路由式编程导航3.5.1Element-UI模块组件库&#xff0c;绘制界面2.4.5Axios发送ajax请求给后端请求数据1.2.1core-js兼容性更强&#xff0c;浏览器适配3.8.3swiper轮播图插件&…

【漏洞复现】大华智能物联ICC综合管理平台文件读取漏洞

Nx01 产品简介 大华智能物联ICC综合管理平台是一个集成了多种智能物联应用服务能力的平台。该平台提供了一系列的基础能力&#xff0c;如中台基础能力、各智能物联应用服务能力以及周边生态支持。 Nx02 漏洞描述 大华智能物联ICC综合管理平台存在文件读取漏洞&#xff0c;攻击…

六、回归与聚类算法 - 欠拟合和过拟合

目录 1、定义 2、原因及解决方法 2.1 正则化 线性回归欠拟合与过拟合线性回归的改进 - 岭回归分类算法&#xff1a;逻辑回归模型保存与加载无监督学习&#xff1a;K-means算法 1、定义 2、原因及解决方法 2.1 正则化

【Unity3D】ASE制作天空盒

找到官方shader并分析 下载对应资源包找到\DefaultResourcesExtra\Skybox-Cubed.shader找到\CGIncludes\UnityCG.cginc观察变量, 观察tag, 观察代码 需要注意的内容 ASE要处理的内容 核心修改 添加一个Custom Expression节点 code内容为: return DecodeHDR(In0, In1);outp…

Flashbit空投

空投要点 明牌空投交互简单&#xff0c;仅需3步&#xff0c;零gas费要求加密钱包在eth链有过交易需要有x和discord账号 空投简介 是一个社区驱动的项目&#xff0c;专门针对Blast生态&#xff0c;项目方提出了空投计划&#xff0c;参与过该生态其他项目空投的都清楚&#xf…

探索什么是模糊测试 Fuzzing Test

什么是 "模糊测试"&#xff1f; Fuzzing 是一种发现软件缺陷的方法&#xff0c;它通过向程序提供随机输入来寻找导致程序崩溃的测试场景&#xff08;原理有点类似Monkey Test&#xff09;。可以帮助你快速了解程序整体的健壮性&#xff0c;并帮助你发现和修复关键的缺…

【Python常用包】pathlib

目录 简介Pathlib 库实现Path 创建路径对象检查路径类型创建和删除路径&#xff08;目录与文件&#xff09;读写文件路径匹配路径拼接和解析路径属性路径迭代和列出目录内容 小结 简介 Pathlib 是一个用于处理文件路径的 Python 库&#xff0c;提供了许多实用的函数和方法来处…

windows安装编译的python包

有时windows无法直接通过网络安装python包&#xff0c;需要从一个地方先下载好&#xff0c;再去安装&#xff0c;下载的一些编译好的python包&#xff0c;安装时发现提示“is not a supported wheel on this platform”&#xff0c;那可能就是下载编译好的版本不对。 可以通过…

代码随想录第二十四天 39.组合总和 40.组合总和II 131.分割回文串

LeetCode 39 组合总和 题目描述 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个…

电表(3)EC600N 4G模块通过mqtt向服务器发送数据

工具 1、ec600 2、stm32f030c8 3、keil5 4、腾讯云服务器&#xff08;ubutu20.04&#xff09; mqtt服务器 sudo apt install mosquitto mosquitto-clients sudo systemctl start mosquitto sudo vim /etc/mosquitto/mosquitto.conf sudo systemctl status mosquittolistene…

Aspose.Words For JAVA 动态制作多维度表格(涵2024最新无水印包)

全网最全Aspose.Words For JAVA 高级使用教程: CSDNhttps://blog.csdn.net/LiHaoHang6/article/details/133989664?spm1001.2014.3001.5501 运行截图&#xff1a; 所谓多维度表格通常包含多个维度, 每个维度都代表一种数据属性,多维度表格可以用于数据分析&#xff0c;通过不…

ArcgisForJS如何使用ArcGIS Server发布的切片地图服务?

文章目录 0.引言1.准备海量地理数据2.ArcGIS Server发布切片地图服务3.ArcgisForJS使用ArcGIS Server发布的切片地图服务 0.引言 ArcGIS Server是一个由Esri开发的地理信息系统&#xff08;GIS&#xff09;服务器软件&#xff0c;它提供了许多功能&#xff0c;包括发布切片地图…

Python实战:统计字符串中的英文字母、空格、数字及其他字符出现的个数

Python实战&#xff1a;统计字符串中的英文字母、空格、数字及其他字符出现的个数 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程 &…

Servlet使用过程中常见问题总结

&#x1f495;"Echo"&#x1f495; 作者&#xff1a;Mylvzi 文章主要内容&#xff1a;Servlet使用过程中常见问题总结 前言:笔者在学习Servlet的过程中遇到了很多问题,这里总结一下 1.乱码问题 如果我们在响应报文中传输中文"你好",那么在浏览器之中显示…

Redis中的AOF重写到底是怎么一回事

首先我们知道AOF和RDB都是Redis持久化的方法。RDB是Redis DB&#xff0c;一种二进制数据格式&#xff0c;这样就是相当于全量保存数据快照了。AOF则是保存命令&#xff0c;然后恢复的时候重放命令。 AOF随着时间推移&#xff0c;会越来越大&#xff0c;因为不断往里追加命令。…

Java基于SpringBoot+Vue的图书馆管理系统,附源码,数据库

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

一款跳转警告HTML单页模板源码

一款跳转警告HTML单页模板,源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改&#xff0c;双击html文件可以本地运行效果&#xff0c;也可以上传到服务器里面&#xff0c;重定向这个界面 代码如下 <!DOCTYPE html> <html> <!--QQ沐编程 www.q…

HarmonyOS—使用预览器查看应用/服务效果

DevEco Studio为开发者提供了UI界面预览功能&#xff0c;可以查看应用/服务的UI界面效果&#xff0c;方便开发者随时调整界面UI布局。预览器支持布局代码的实时预览&#xff0c;只需要将开发的源代码进行保存&#xff0c;就可以通过预览器实时查看应用/服务运行效果&#xff0c…