连接数据库(以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语言的后端代码与数据库的相互连通提供了大量能使我们开发应用程序的可能与潜力。

相关推荐
奶糖趣多多39 分钟前
Redis知识点
数据库·redis·缓存
阿伟*rui39 分钟前
配置管理,雪崩问题分析,sentinel的使用
java·spring boot·sentinel
CoderIsArt2 小时前
Redis的三种模式:主从模式,哨兵与集群模式
数据库·redis·缓存
XiaoLeisj3 小时前
【JavaEE初阶 — 多线程】单例模式 & 指令重排序问题
java·开发语言·java-ee
paopaokaka_luck3 小时前
【360】基于springboot的志愿服务管理系统
java·spring boot·后端·spring·毕业设计
dayouziei3 小时前
java的类加载机制的学习
java·学习
师太,答应老衲吧4 小时前
SQL实战训练之,力扣:2020. 无流量的帐户数(递归)
数据库·sql·leetcode
Yaml45 小时前
Spring Boot 与 Vue 共筑二手书籍交易卓越平台
java·spring boot·后端·mysql·spring·vue·二手书籍
小小小妮子~5 小时前
Spring Boot详解:从入门到精通
java·spring boot·后端
hong1616885 小时前
Spring Boot中实现多数据源连接和切换的方案
java·spring boot·后端