Java和Python各自链接MySQL的方法

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: Java和Python各自链接MySQL的方法

前言:

如今在座的各位应该都是用过APP,网站等这些客户端吧。


如今大部分的客户端都是由三层模型组成——客户端,中间层,数据库。我们可以通过下图能更加清晰的了解这个结构。

image.png



一般我们使用一些网站查询我们想要的东西,这个流程大概就是通过客户端发送请求到服务器,再由服务器传回数据到客户端。然后我们就能得到我们所需要的数据。


通常我们得到的数据都是存储在数据库中的,我们有没有想过服务器是怎么获取的数据呢???


首先服务器得到请求后他会先给后端发送一个请求,然后再由后端来获取数据返回给服务器,服务器在传送到客户端。


在来问一下大家,后端是怎么得到数据库里面的数据呢???


这个也就是我们今天所要给大家讲的JDBC——使用后端语言链接数据库!!!


Java数据库的链接

环境配置

使用工具:

IDEA,MySQL-8.0,MySQL驱动(mysql-connector-java-8.0.27)等。


MySQL驱动的下载:


首先打开MySQL官网按照下图所示步骤下载和安装!

image.png



紧接着滑动页面到最下端。

image.png



打开后是这样的界面:

image.png


image.png


image.png



小伙伴们按照以上的方法下载安装即可。


注:因为MySQL官网页面会不断的更新,一些小伙伴可能找不到,大家只要记住找到倒数第三张图片上面的那个版本驱动即可下载!


MySQL驱动的配置:


首先我们需要在我们的IDEA里面新建一个项目,然后我们在src的同级目录下创建一个lib文件夹,将我们下载好的MySQL驱动解压到lib下面即可。


[^注意:在lib文件夹下面的文件是 jar类型的,并不是zip类型的文件!!!]:

image.png



当驱动放在指定位置后我们再在IDEA里面找到MySQL驱动,按照下图步骤慢慢完善即可:

image.png





点击即可!!!


到这里Java MySQL的驱动基本上算是配置好了,接下来就是要进行使用Java代码链接MySQL数据库了!!!

代码实现

在Java中有两个API可以链接数据库,分别是:Driver和DriverManager。


1.Driver的链接

首先创建驱动对象:


Driver driver = new com.mysql.cj.jdbc.Driver();


使用driver进行链接:


Connection conn = driver.connect(url,info);


完整代码:


   

public static void main(String[] args) throws SQLException {
            Driver driver = new com.mysql.cj.jdbc.Driver();
            String url = "jdbc:mysql://localhost:3306/数据库表名";
            Properties info = new Properties();
            info.setProperty("user","root");
            info.setProperty("password","数据库密码");
            Connection conn = driver.connect(url,info);
            System.out.println(conn);
    }


运行结果:com.mysql.cj.jdbc.ConnectionImpxxxxxxx,表示成功运行!!!


2.DriverManager的链接

和Driver一样创建驱动:


Driver driver = new com.mysql.cj.jdbc.Driver();


数据库的注册:


DriverManager.registerDriver(driver);//进行数据库注册


我们选用DriverManager三种链接方法里面的其中一个比较简单的连接方法:


Connection conn = DriverManager.getConnection(url,user,password);


完整代码:


public static Connection getConnection() throws Exception{
        Driver driver = new com.mysql.cj.jdbc.Driver();
        String url = "jdbc:mysql://localhost:3306/数据库表名";
        String user = "root";
        String password = "数据库密码";
        DriverManager.registerDriver(driver);//进行数据库注册
        Connection conn = DriverManager.getConnection(url,user,password);
        return conn;
    }
    //关闭数据库的链接
    public  static void closeREsource(Connection conn, PreparedStatement ps){
        try {
            ps.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        try {
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }



运行结果:com.mysql.cj.jdbc.ConnectionImpxxxxxxx,表示成功运行!!!


补充:DriverManager是Driver的升级版,Driver是Java链接MySQL最基础的方法。因为Driver不能解耦,所以逐渐被DriverManager所替代!


Java对数据库的链接就到这里了,接下来可能就带给大家Java对数据库表的增删改查了。


Python数据库的链接

介绍了Java的数据库链接,我们在来看看Python是怎么链接MySQL的吧。


环境配置

**使用工具:**Pycharm,MySQL—8.0,pymysql库。


pymysql的下载:


方法1:打开cmd,输入 pip install pymysql。即可安装完毕。


方法2:在Pycharm里面下载该库。(我博客之前写过怎么用Pycharm下载各种Python的库,不会的小伙伴可以去看看哦。)


环境配置完毕,接下来我们就进行具体的代码操作吧!!!


代码实现

首先导入pymysql。


import pymysql


使用pymysql里面的功能方法conntect链接MySQL并创建对象。


conn = pymysql.connect(host='localhost',user = "root",passwd = "数据库密码")


补充:connect的参数和作用!


参数 功能

host 服务器的主机地址。

port mysql数据库的端口号。

user 用户名

password 密码

database 操作的数据库名

charset 操作数据库使用的编码个数

接着使用conn获取游标。


cursor=conn.cursor()


紧接着使用cursor对MySQL进行操作。


cursor.execute(sql语句)


最后关闭游标和数据库的链接。


cursor.close()#先关闭游标
conn.close()#再关闭数据库连接


完整代码:


import pymysql
#打开数据库连接,不需要指定数据库,因为需要创建数据库
#1. host : 服务器的主机地址
#2. port :mysql数据库的端口号
#3. user : 用户名
#4. password : 密码
#5. database :操作的数据库名
#6. charset : 操作数据库使用的编码个数
conn = pymysql.connect(host='localhost',user = "root",passwd = "数据库密码")
#获取游标
cursor=conn.cursor()
cursor.execute('SQL语句')
cursor.close()#先关闭游标
conn.close()#再关闭数据库连接
print('链接成功!')
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2天前
|
存储 Java 索引
Java快速入门之数组、方法
### Java快速入门之数组与方法简介 #### 一、数组 数组是一种容器,用于存储同种数据类型的多个值。定义数组时需指定数据类型,如`int[]`只能存储整数。数组的初始化分为静态和动态两种: - **静态初始化**:直接指定元素,系统自动计算长度,如`int[] arr = {1, 2, 3};` - **动态初始化**:手动指定长度,系统给定默认值,如`int[] arr = new int[3];` 数组访问通过索引完成,索引从0开始,最大索引为`数组.length - 1`。遍历数组常用`for`循环。常见操作包括求和、找最值、统计特定条件元素等。
|
1天前
|
算法 Java API
Java 方法注释:规范、实用和高质量的写法
本文深入探讨了如何编写高质量的 Java 方法注释
21 11
|
1天前
|
SQL Java 数据库连接
【潜意识Java】Java中JDBC过时方法的替代方案以及JDBC为什么过时详细分析
本文介绍了JDBC中一些常见过时方法及其替代方案。
19 5
|
13天前
|
自然语言处理 Java 关系型数据库
Java mysql根据很长的富文本如何自动获取简介
通过使用Jsoup解析富文本并提取纯文本,然后根据需要生成简介,可以有效地处理和展示长文本内容。该方法简单高效,适用于各种应用场景。希望本文对您在Java中处理富文本并生成简介的需求提供实用的指导和帮助。
50 14
|
14天前
|
自然语言处理 Java 关系型数据库
Java mysql根据很长的富文本如何自动获取简介
通过使用Jsoup解析富文本并提取纯文本,然后根据需要生成简介,可以有效地处理和展示长文本内容。该方法简单高效,适用于各种应用场景。希望本文对您在Java中处理富文本并生成简介的需求提供实用的指导和帮助。
31 9
|
1月前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
147 26
|
1月前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
263 15
|
1月前
|
JavaScript 安全 Java
java版药品不良反应智能监测系统源码,采用SpringBoot、Vue、MySQL技术开发
基于B/S架构,采用Java、SpringBoot、Vue、MySQL等技术自主研发的ADR智能监测系统,适用于三甲医院,支持二次开发。该系统能自动监测全院患者药物不良反应,通过移动端和PC端实时反馈,提升用药安全。系统涵盖规则管理、监测报告、系统管理三大模块,确保精准、高效地处理ADR事件。
|
2月前
|
安全 Java 开发者
Java中WAIT和NOTIFY方法必须在同步块中调用的原因
在Java多线程编程中,`wait()`和`notify()`方法是实现线程间协作的关键。这两个方法必须在同步块或同步方法中调用,这一要求背后有着深刻的原因。本文将深入探讨为什么`wait()`和`notify()`方法必须在同步块中调用,以及这一机制如何确保线程安全和避免死锁。
60 4
|
2月前
|
Java 数据处理 数据安全/隐私保护
Java处理数据接口方法
Java处理数据接口方法
32 1