连接数据库(以MySQL为例)

文章目录


前言

面对应用程序的开发,普遍需要保存用户的海量数据。保存粮的库叫粮库,保存水的库叫水库,那么保存数据的库自然叫数据库。有了数据库,客户端,和服务器的内存占比就会大大减少,双方需要调用数据时直接访问数据库即可。


一、数据库是什么?

数据库是指将大量数据按一定的数据结构组织、存储和管理的系统。

数据库可以用来存储和访问数据,确保数据的安全性和一致性,并提供高效的数据操作和管理功能。

数据库可以用于存储各种类型的数据,如文本、图片、音频、视频等。它广泛应用于各个行业和领域,如企业管理、电子商务、金融、医疗等。常见的数据库系统包括关系型数据库(如MySQL、Oracle、SQL Server)、非关系型数据库(如MongoDB、Redis、Cassandra)等。

二、连接步骤

1.手动导入驱动包

首先,电脑要安装好MySQL数据库,MySQL官网界面如下图所示。(安装路径记得留意好,不然之后找驱动包很麻烦)

第二步,点开MySQL的文件所在位置,我用的是java语言,所以查找的是 Connector J 8.0(每个人的版本可能不同)。

所要找到驱动包就是如下图所示了:

最后一步,也是最重要的一步,将这个jar包放置到你开发项目中的lib文件夹中,这样程序运行时就能检测到对应的包了。

2.连接数据库

首先,数据库服务器未运行,那么是无法连接到数据库的。(可以理解为数据库掉线了)

连接数据库的基本步骤如下:

1.使用DriverManager类加载JDBC驱动包。

简单介绍JDBC技术:JDBC (Java数据库连接)是一种基于Java的API,专门设计用于将Java应用程序连接到关系数据库。通过该技术可以实现java语言和sql语言的相互转换,运行java代码,数据库自动根据java代码进行对应的增删改查,或者调取使用数据。(这里也能看出来数据库和后端代码的重要关系了)

2.使用Connection接口连接数据库(没有导入驱动包会报错ClassNotFoundException)。

Connection接口需要三个要素来连接数据库:数据库的url路径,用户名和密码。(关于MySQL数据库的知识和实际操作可以自行了解,url的写法,是指 jdbc:mysql://IP地址:接口/数据库名,该篇内容为java连接数据库)

实操展示:

java 复制代码
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Mysql {
    public static void main(String[] args) {        
            String url = "jdbc:mysql://127.0.0.1:3306/table1";
            String username = "root";
            String password = "***********";
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");           
            @SuppressWarnings("unused")
            Connection con = DriverManager.getConnection(url, username, password);
            System.out.println("Connection successfull!");
        } catch (ClassNotFoundException e) {
            System.out.println("MySQL JDBC Driver not found.");
            e.printStackTrace();
        } catch (SQLException e){
            e.printStackTrace();
        }
    }
}

运行结果:

(1)没有手动添加驱动包的报错结果:

(2)数据库url错误:

(3) 数据库用户名或密码错误:

(4)数据库已掉线:

(5)连接数据库成功:

以上是就是连接数据库可能出现的运行结果。


总结

以上就是使用java语言连接MySQL数据库的相关简单介绍,本文仅介绍了java连接数据库,而java语言的后端代码与数据库的相互连通提供了大量能使我们开发应用程序的可能与潜力。

相关推荐
triticale几秒前
P12167 [蓝桥杯 2025 省 C/Python A] 倒水
java·蓝桥杯
Claudio2 分钟前
【MySQL】联合索引和覆盖索引(索引失效的误区讲解+案例分析)
数据库
-曾牛17 分钟前
Spring AI 快速入门:从环境搭建到核心组件集成
java·人工智能·spring·ai·大模型·spring ai·开发环境搭建
纪元A梦17 分钟前
Redis最佳实践——性能优化技巧之监控与告警详解
数据库·redis·性能优化
啊松同学18 分钟前
【Mybatis】MyBatisPlus的saveBatch真的是批量插入吗?深度解析与性能优化
java·后端·性能优化·mybatis
GarfieldFine27 分钟前
MySQL索引使用一定有效吗?如何排查索引效果?
数据库·mysql
烁34736 分钟前
每日一题(小白)模拟娱乐篇33
java·开发语言·算法
cypking1 小时前
mysql 安装
数据库·mysql·adb
一个数据大开发1 小时前
解读《数据资产质量评估实施规则》:企业数据资产认证落地的关键指南
大数据·数据库·人工智能
北漂老男孩1 小时前
Java对象转换的多种实现方式
java·开发语言