java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > springboot整合MySQL数据库

一文详细springboot实现MySQL数据库的整合步骤

作者:英语君

Spring Boot可以很方便地与MySQL数据库进行整合,下面这篇文章主要给大家介绍了关于springboot实现MySQL数据库的整合步骤,文中通过图文以及代码介绍的非常详细,需要的朋友可以参考下

前言

在家闲来无事,想起最基础的spring boot项目,但整合jdbc,链接数据库一整个操作对于初学者来说还是有些困难,我顺带记录一下。之后把springboot整合Mybatis和整合redis以及一些案例也写一下,期待成品给大家。。。。

一、spring boot的helloworld

首先打开idea

创建新项目,例如创建一个demo0305项目工程

之后选择springboot项目的web功能就可以了

点击Finish生成项目,注意:初始加载可能会有很多文件,比较缓慢,耐性等待右下角无加载项就可以了

(1)·有同学可能要问不是链接MySQL吗?不用把MySQL功能也选上吗???

我的回答是:这个后面在pom.xml文件里增加相关的依赖就行,暂时不用选择,也是可以运行的。

之后在src下创建一个Controller的包,为了代码规范,建议把所有的Controller放在一个包里,方便查看

再新建一个helloController的Java文件,用于编写hello请求的响应方法

生成文件格式如下图所示即可

此时就已经有了主启动文件Demo0305Application和控制文件helloController

接下来就开始编辑helloController文件

具体代码如下

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
class helloController {
    @GetMapping("/hello")
    public String hello(){

        return "hello Spring Boot";
    }
}

(2)此时同学们要问,@GetMapping这个方法是怎么写的,内在逻辑是什么?

其实只是写了个@GetMapping的注解,但要在@RestController之后,再写一个类,返回hello Spring Boot字样,具体的底层代码可以按着Ctrl点击注释本身,你就能跳转到底层的实现逻辑

到此,保存一下就可以启动项目了(右上角绿色按钮启动)

成功启动后,在浏览器访问localhost:8080/hello显示成功hello spring boot

hello world调试成功,我的有位老师说过,只要hello world调试成功,就应该把项目全部都运行出来,只是时间的问题。后面点击右上角红色关闭服务器

二、spring boot整合jdbc,实现MySQL的查询和显示

实现了helloworld,现在链接MySQL就需要在pom.xml文件里增加相关的依赖了,需要增加的依赖在spring官网也能查到,下面我给出所需的依赖

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <!--Spring boot 核心-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

        <!--Mysql依赖包-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

        <!-- druid数据源驱动 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.6</version>
        </dependency>
        <dependency>
            <groupId>org.lionsoul</groupId>
            <artifactId>ip2region</artifactId>
            <version>1.7.2</version>
        </dependency>
    </dependencies>

原始的依赖只有两个一个是spring-boot-starter-web这个依赖,另外一个是spring-boot-starter-test这个依赖,这两个一个是web项目所用的,一个是用来测试的,也是最基本的两个。==这个pom文件要看得懂。==而且 <dependencies和
<dependency的这两者关系也要看清楚

为了方便操作,我上面给的这些依赖就是所有的依赖,已经包含了基本的那两个依赖,直接覆盖dependencies里面就行了,之后点击右上角的加载项,把依赖加载完,也是直至右下角加载完成。

现在MySQL的相关依赖已经加入,但是对于端口和MySQL的账号密码还没设置,所以现在开始设置MySQL

(1)配置资源,要在resource文件下配置

(1)有两种创建配置文件的方法,要用哪一种呢?

一种创建文件的方法是直接在application.properties里面配置

配置文件如下

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

这个文件前面都带有spring.datasource的前缀并且管理起来也不方便

所以另外一种创建配置类的方法是,创建一个application.yml的yml文件,使得结构清晰,方便管理

并且yml文件的书写方法方便快捷,如下

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

注意:yml文件的顶格和空格代表了上下级关系,所以这个顶格不能去掉。

这里创建yml文件的方法

需要再设置File---->Settings

Editor---->File And Code Templates

手动输入ym File 后面输入yml,点击右下角apply即可

这样,在resource右键new的时候,就看见yml文件了,输入application即可生成application.yml文件,就可以配置MySQL的账户密码了

生成如图

注意:3306/后面这个是你的数据库名字,我这里数据库里有个blog的表,待会我会进行查询,你们也可以在数据库里设置自己的数据库,并把名字复制到这里就行了。我的数据库里有这些记录,待会要查到,并显示。

这时,MySQL就链接好了,开始建立查询,我们重新写一个Controller,就命名为jdbcController,创建方法和helloController的方法一样,如下图所示

在里面编写文件

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Map;
import java.util.List;
@RestController
public class jdbcController {
    @Autowired
    JdbcTemplate jdbcTemplate;

    //写一个list请求,查询数据库信息
    @GetMapping("/list")
    public List<Map<String,Object>> list(){

        String sql="select * from commentlikes";
        List<Map<String,Object>> list_map=jdbcTemplate.queryForList(sql);
        return list_map;

    }

}

有一个 @Autowired的注解,这里也是自动注入的注解,还有一条我们熟悉的 @GetMapping注解,list里面包含了一条sql语句,具体语句是写在双引号里面并进行赋值的,使用List<Map<String,Object>> list_map=jdbcTemplate.queryForList(sql);方法将查询到的信息罗列出来,并进行返回到主页的操作。

注意:这里的select * from commentlikes是根据你的数据库里面的表名进行查询的,在页面里只有罗列,没有固定格式,在做大型数据项目时,就可以在需要查询的项目里编写这样的方法,这也是底层查询逻辑。

(2)至此编写结束,启动项目

成功启动

访问localhost:8080/list

我们的库表信息已成功显示。

总结

本次文章主要是对springboot的项目进行MySQL的整合,可以进行简单的练习,在拿到成品的HTML网页时,只需要把查询到的语句返回到指定的接口中,查询任务就完成。

到此这篇关于springboot实现MySQL数据库整合的文章就介绍到这了,更多相关springboot整合MySQL数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文