springboot|springboot 连接 mysql 数据库

本贴最后更新于 328 天前,其中的信息可能已经时移世易

javaDEMO

本网站记录了最全的各种 JavaDEMO ,保证下载,复制就是可用的,包括基础的, 集合的, Spring 的, MyBatis 的等等各种,助力你从菜鸟到大牛,记得收藏哦~~
https://www.javastudy.cloud

配置 SpringBoot 连接 MySQL 数据库

主要分以下几步:

  1. 添加 gradle/maven 依赖
  2. 配置数据库 url,用户名,密码等等
  3. 在 Controller 中拿连接进行测试,本文中只引入 mybatis,但是不用 Mapper 去操作数据库,而是通过 datasource 去获取链接去操作,集成 MyBatis 的 DEMO 后续会给出

添加 gradle/maven 依赖

在 build.gradle 中添加

implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.1'
runtimeOnly 'mysql:mysql-connector-java'

添加数据库配置

要先在上步我们在 docker 中 MySQL 中添加一个 javastudy 数据库,添加一个 test 表
数据库脚本如下:也可以用可视化界面添加库和表

create schema javastudy;
create table if not exists javastudy.test
(
	id bigint auto_increment
		primary key,
	name varchar(50) null
);
INSERT INTO javastudy.test (id, name) VALUES (1, 'https://www.javastudy.cloud');

在 application.properties 中添加

spring.datasource.url=jdbc:mysql://localhost:33306/javastudy?characterEncoding=utf-8&allowMultiQueries=true&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=javastudy
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

在 Controller 中测试类

在这步我在想是用 Test 类还是用 Controller ,想了想还是先用 Controller, 后面再单独写 Test 的 DEMO
代码如下:

/**
 * @Author https://www.javastudy.cloud
 * @CreateTime 2019/11/3
 **/
@RestController
public class MysqlController {
    /**
     * 引入mybatis依赖就是为了方便注入这个对象
     * 如不引的话,虽然也可以手工设置,但和springboot的关系就不大了
     */
    @Autowired
    DataSource dataSource;

    @RequestMapping("testMysql")
    public String testMysql() {
        try {
            //获取连接,注意要关闭,这里没有关
            Connection connection = dataSource.getConnection();
            // 从连接创建statement,注意要关闭,这里没有关
            Statement statement = connection.createStatement();
            // 用statement执行sql并获取 ResultSet
            ResultSet resultSet = statement.executeQuery("select * from test");
            //遍历result获取结果集
            List<String> list = new ArrayList<>();
            while (resultSet.next()) {
                String id = resultSet.getString("id");
                String name = resultSet.getString("name");
                list.add(id+"-"+name);
            }
            //先转成json字符串再返回
            return JSON.toJSONString(list);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    }
}

结果如下:
image.png

DEMO 总评

做项目总是离不开数据库的,虽然用了 MyBatis 之后不会再用 connection , statement , 但是本 DEMO 还是用了这些技术,其实 MyBatis 底层也是用的这些。所以我们先用这些技术一起学 SpringBoot 连接数据库,加油,少年!

DEMO 源码

demospringbootmysql.zip

  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    2774 引用 • 8035 回帖 • 765 关注
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    811 引用 • 1390 回帖 • 681 关注
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    566 引用 • 511 回帖 • 675 关注
  • MyBatis

    MyBatis 本是 Apache 软件基金会 的一个开源项目 iBatis,2010 年这个项目由 Apache 软件基金会迁移到了 Google code,并且改名为 MyBatis ,2013 年 11 月再次迁移到了 GitHub。

    153 引用 • 404 回帖 • 687 关注

赞助商 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...