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

news2024/10/5 16:25:13

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💖点点关注,收藏不迷路💖

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

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

相关文章

个性化纹身设计,Midjourney带你探索独一无二的艺术之美

hello,大家好&#xff0c;欢迎回来。 在当今社会&#xff0c;纹身已经变得非常常见。 在寻求与众不同的个性化纹身时&#xff0c;你是否曾经为了找不到独特的设计而苦恼&#xff1f; 现在&#xff0c;Midjourney将为你打开一扇全新的艺术之门&#xff0c;引领你探索纹身设计…

matplotlib绘图初步

文章目录 绘制曲线图完整流程图像属性 绘制曲线图 matplotlib是python中最常用的可视化库&#xff0c;提供了不同坐标系下的二十余种常用图像&#xff0c;并且提供了动态图像绘制的方法&#xff0c;可以满足科学计算中的绝大多数可视化需求。而在matplotlib中&#xff0c;绝大…

基于Redis限流(固定窗口、滑动窗口、漏桶、令牌桶)(肝货!!!)

近期redis复习的比较多&#xff0c;在限流这方面发现好像之前理解的限流算法有问题&#xff0c;索性花了一天“带薪摸鱼”时间肝了一天&#xff0c;有问题可以评论区探讨。 废话不多说&#xff0c;正片开始 目录 Maven固定窗口滑动窗口算法漏桶算法令牌桶算法 Maven 有些不用的…

[HTML]Web前端开发技术28(HTML5、CSS3、JavaScript )JavaScript基础——喵喵画网页

希望你开心&#xff0c;希望你健康&#xff0c;希望你幸福&#xff0c;希望你点赞&#xff01; 最后的最后&#xff0c;关注喵&#xff0c;关注喵&#xff0c;关注喵&#xff0c;佬佬会看到更多有趣的博客哦&#xff01;&#xff01;&#xff01; 喵喵喵&#xff0c;你对我真的…

【计网】TCP的三次握手四次挥手

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;JAVA ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 正文 三次握手&#xff08;Connection Establishment&#xff09; 四次挥手&#xff08;Connection Termination&#xff09; 结语 我…

Echarts与后台(mongoose)交互

Echarts引入地址可参考 echarts组件引入 <template><div><div id"main" style"width: 600px;height:400px;"></div></div> </template><script setup> import { onMounted, ref } from vue; import * as echa…

JavaScript 数组、遍历

数组 多维数组&#xff1a;数组里面嵌套 一层数组为二维数组。一维数组的使用频率是最高的。 如果数组访问越界会返回undefined。 数组遍历 数组方法Array.isArray() 这个方法可以去判定一个内容是否是数组。

32单片机基础:GPIO输出

目录 简介&#xff1a; GPIO输出的八种模式 STM32的GPIO工作方式 GPIO支持4种输入模式&#xff1a; GPIO支持4种输出模式&#xff1a; 浮空输入模式 上拉输入模式 下拉输入模式 模拟输入模式&#xff1a; 开漏输出模式&#xff1a;&#xff08;PMOS无效&#xff0c;就…

基于SpringBoot的气象数据监测分析大屏

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下&#xff0c;你想解决的问…

简单聊聊如何零基础入门机器视觉

在这个充满科技奇迹的时代里&#xff0c;机器视觉像一面魔法镜&#xff0c;赋予机器以“视觉”&#xff0c;让它们能够理解和解释这个世界。对于热爱探索新知的大学生和研究生们来说&#xff0c;学习机器视觉不仅是开启未来科技大门的钥匙&#xff0c;更是一次激动人心的冒险之…

RisingWave最佳实践-利用Dynamic filters 和 Temporal filters 实现监控告警

心得的体会 刚过了年刚开工&#xff0c;闲暇之余调研了分布式SQL流处理数据库–RisingWave&#xff0c;本人是Flink&#xff08;包括FlinkSQL和Flink DataStream API&#xff09;的资深用户&#xff0c;但接触到RisingWave令我眼前一亮&#xff0c;并且拿我们生产上的监控告警…

备战蓝桥杯————双指针技巧巧解数组1

利用双指针技巧来解决七道与数组相关的题目。 两数之和 II - 输入有序数组&#xff1a; 给定一个按升序排列的数组&#xff0c;找到两个数使它们的和等于目标值。可以使用双指针技巧&#xff0c;在数组两端设置左右指针&#xff0c;根据两数之和与目标值的大小关系移动指针。 …

动态规划--持续更新篇

将数字变成0的操作次数 1.题目 2.思路 在numberOfSteps函数中&#xff0c;首先设置f[0]为0&#xff0c;因为0已经是0了&#xff0c;不需要任何步骤。然后&#xff0c;使用一个for循环从1迭代到输入的整数num。对于每个整数i&#xff0c;如果i是奇数&#xff0c;则将f[i]设置为…

uniapp离线打包(使用Android studio打包)

一、准备工作 安装HbuilderX&#xff0c;记住版本号下载对应HbuilderX版本的Android离线SDK&#xff0c;如我使用3.6.18版本打包&#xff0c;则对应应下载3.6.18版本的SDK&#xff08;官网不提供旧版本的SDK&#xff0c;有些需要自己找&#xff09;官网下载地址&#xff1a;ht…

目标检测-Transformer-ViT和DETR

文章目录 前言一、ViT应用和结论结构及创新点 二、DETR应用和结论结构及创新点 总结 前言 随着Transformer爆火以来&#xff0c;NLP领域迎来了大模型时代&#xff0c;成为AI目前最先进和火爆的领域&#xff0c;介于Transformer的先进性&#xff0c;基于Transformer架构的CV模型…

QGIS编译(跨平台编译)之七十:【Windows编译错误处理】找不到vector_tile.pb.h、vector_tile.pb.cc

文章目录 一、错误描述二、错误原因分析三、错误处理一、错误描述 ①无法打开源文件“vector_tile.pb.h” ②无法打开包含文件:“vector_tile.pb.h”:No Such file or directory ③无法打开源文件:“vector_tile.pb.cc”:No Such file or directory 二、错误原因分析 qgis\…

MFC 配置Halcon

1.新建一个MFC 工程&#xff0c;Halcon 为64位&#xff0c;所以先将工程改为x64 > VC 目录设置包含目录和库目录 包含目录 库目录 c/c ->常规 链接器 ->常规 > 链接器输入 在窗口中添加头文件 #include "HalconCpp.h" #include "Halcon.h"…

Oracle迁移到mysql-表结构的坑

1.mysql中id自增字段必须是整数类型 id BIGINT AUTO_INCREMENT not null, 2.VARCHAR2改为VARCHAR 3.NUMBER(16)改为decimal(16,0) 4.date改为datetime 5.mysql范围分区必须int格式&#xff0c;不能list类型 ERROR 1697 (HY000): VALUES value for partition …

应急响应实战笔记03权限维持篇(3)

0x00 前言 攻击者在获取服务器权限后&#xff0c;会通过一些技巧来隐藏自己的踪迹和后门文件&#xff0c;本文介绍Linux下的几种隐藏技术。 0x01 隐藏文件 Linux 下创建一个隐藏文件&#xff1a;touch .test.txt touch 命令可以创建一个文件&#xff0c;文件名前面加一个 点…

使用pygame 编写俄罗斯方块游戏

项目地址&#xff1a;https://gitee.com/wyu_001/mypygame/tree/master/game 可执行程序 这个游戏主要使用pygame库编写俄罗斯方块游戏&#xff0c;demo主要演示了pygame开发游戏的主要设计方法和实现代码 下面是游戏界面截图 游戏主界面&#xff1a; 直接上代码&#xff1a…