JDBC连接MySQL数据库(一)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: JDBC连接MySQL数据库(一)

0x00 教程内容


  1. 环境准备
  2. 编写代码
  3. 测试


0x01 环境准备


1. 数据库表准备

本地的JDK是1.8,MySQL版本是5.7.32(用户名是root,密码是123456),均部署在Windows本地。

新建一个数据库,取名 sny


image.png


CREATE DATABASE sny;
USE sny;
CREATE TABLE `student` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL DEFAULT '无名',
  `age` int(10) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
);


新建一张学生表,备用。

2. 引入依赖

新建一个Maven项目,并且引入MySQL依赖,JUnit只是为了测试。


<!-- 连接MySQL依赖 -->
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>5.1.47</version>
</dependency>
<!-- JUnit测试依赖 -->
<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.12</version>
</dependency>


0x02 编写代码


新建代码路径如图所示:

image.png


1. JDBCUtil工具类
package com.shaonaiyi.utils;
import java.sql.*;
/**
 * @Auther: shaonaiyi@163.com
 * @Date: 2021/1/13 10:55
 * @Description: JDBC工具类
 */
public class JDBCUtil {
    /**
     * 1、获取Connection
     * @return Connection
     * @throws Exception
     */
    public static Connection getConnection() throws Exception {
        Class.forName("com.mysql.jdbc.Driver");
        Connection connection = DriverManager.getConnection("jdbc:mysql:///sny","root", "123456");
        return connection;
    }
    /**
     * 2、释放资源
     * @param resultSet
     * @param statement
     * @param connection
     */
    public static void release(ResultSet resultSet, Statement statement, Connection connection) {
        if (resultSet != null) {
            try {
                resultSet.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (statement != null) {
            try {
                statement.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (connection != null) {
            try {
                connection.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}


解释:


1、需要修改成自己的url、user、password;


2、jdbc:mysql:///sny默认连接的是本地的数据库,其实完整的是:jdbc:mysql://localhost:3306/sny,如果是其他ip,改成自己的ip即可,如:jdbc:mysql://114.22.12.111/sny;


3、JDBC4版本之后,已经可以不注册驱动,也就是可以不需要加上这句代码:Class.forName("com.mysql.jdbc.Driver");程序在运行的时候会自动去找驱动,如果没有则会报错。


2. JDBCUtilTest测试类

package com.shaonaiyi.utils;
import org.junit.Assert;
import org.junit.Test;
import java.sql.Connection;
/**
 * @Auther: shaonaiyi@163.com
 * @Date: 2021/1/13 11:04
 * @Description: JDBC测试类
 */
public class JDBCUtilTest {
    @Test
    public void testGetConnection() throws Exception {
        Connection connection = JDBCUtil.getConnection();
        Assert.assertNotNull(connection);
    }
}


解释:

1、Assert.assertNotNull(connection);这句只是判断有没有获取到 Connection 而已,如果判断 connection 不为空,则为获取到了链接。

2、不要忘记了方法上面的注解:@Test


0x03 测试


右击测试类,点击RUN ...即可运行测试,或者点击方法左边的绿色小三角图标也可以:


image.png


运行后发现是绿色通过状态,说明我们的connection不为空,则获取到了连接。


image.png


因为释放不太好演示,所以暂且不演示。


0xFF 总结


  1. JDBC连接数据库是非常基础且关键的内容,务必多练习。
  2. 请关注本博客,下一篇会进行代码的重构:JDBC连接MySQL数据库(二)
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
15天前
|
安全 Java 数据库连接
gbase8a JDBC常用特性-Kerberos认证方式连接
JDBC常用特性-Kerberos认证方式连接
|
16天前
|
Java 数据库连接 网络安全
JDBC常用特性-SSH隧道连接
JDBC常用特性-SSH隧道连接
|
26天前
|
关系型数据库 MySQL 网络安全
DBeaver连接MySQL提示Access denied for user ‘‘@‘ip‘ (using password: YES)
“Access denied for user ''@'ip' (using password: YES)”错误通常与MySQL用户权限配置或网络设置有关。通过检查并正确配置用户名和密码、用户权限、MySQL配置文件及防火墙设置,可以有效解决此问题。希望本文能帮助您成功连接MySQL数据库。
41 4
|
1月前
|
安全 关系型数据库 MySQL
【赵渝强老师】MySQL的连接方式
本文介绍了MySQL数据库服务器启动后的三种连接方式:本地连接、远程连接和安全连接。详细步骤包括使用root用户登录、修改密码、创建新用户、授权及配置SSL等。并附有视频讲解,帮助读者更好地理解和操作。
165 1
|
2月前
|
SQL Java 关系型数据库
java连接mysql查询数据(基础版,无框架)
【10月更文挑战第12天】该示例展示了如何使用Java通过JDBC连接MySQL数据库并查询数据。首先在项目中引入`mysql-connector-java`依赖,然后通过`JdbcUtil`类中的`main`方法实现数据库连接、执行SQL查询及结果处理,最后关闭相关资源。
184 6
|
2月前
|
SQL JavaScript 关系型数据库
node博客小项目:接口开发、连接mysql数据库
【10月更文挑战第14天】node博客小项目:接口开发、连接mysql数据库
|
2月前
|
Java 关系型数据库 MySQL
mysql5.7 jdbc驱动
遵循上述步骤,即可在Java项目中高效地集成MySQL 5.7 JDBC驱动,实现数据库的访问与管理。
485 1
|
2月前
|
Java 关系型数据库 MySQL
【编程基础知识】Eclipse连接MySQL 8.0时的JDK版本和驱动问题全解析
本文详细解析了在使用Eclipse连接MySQL 8.0时常见的JDK版本不兼容、驱动类错误和时区设置问题,并提供了清晰的解决方案。通过正确配置JDK版本、选择合适的驱动类和设置时区,确保Java应用能够顺利连接MySQL 8.0。
265 1
|
3天前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
13 3
|
3天前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
19 3