Java和Python各自链接MySQL的方法

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 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('链接成功!')
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
测试技术 API Python
【10月更文挑战第1天】python知识点100篇系列(13)-几种方法让你的电脑一直在工作
【10月更文挑战第1天】 本文介绍了如何通过Python自动操作鼠标或键盘使电脑保持活跃状态,避免自动息屏。提供了三种方法:1) 使用PyAutoGUI,通过安装pip工具并执行`pip install pyautogui`安装,利用`moveRel()`方法定时移动鼠标;2) 使用Pymouse,通过`pip install pyuserinput`安装,采用`move()`方法移动鼠标绝对位置;3) 使用PyKeyboard,同样需安装pyuserinput,模拟键盘操作。文中推荐使用PyAutoGUI,因其功能丰富且文档详尽。
WK
|
19天前
|
Python
Python中format_map()方法
在Python中,`format_map()`方法用于使用字典格式化字符串。它接受一个字典作为参数,用字典中的键值对替换字符串中的占位符。此方法适用于从字典动态获取值的场景,尤其在处理大量替换值时更为清晰和方便。
WK
67 36
|
30天前
|
机器学习/深度学习 数据采集 数据挖掘
11种经典时间序列预测方法:理论、Python实现与应用
本文将总结11种经典的时间序列预测方法,并提供它们在Python中的实现示例。
63 2
11种经典时间序列预测方法:理论、Python实现与应用
|
21天前
|
SQL Java 关系型数据库
java连接mysql查询数据(基础版,无框架)
【10月更文挑战第12天】该示例展示了如何使用Java通过JDBC连接MySQL数据库并查询数据。首先在项目中引入`mysql-connector-java`依赖,然后通过`JdbcUtil`类中的`main`方法实现数据库连接、执行SQL查询及结果处理,最后关闭相关资源。
|
26天前
|
开发者 Python
Python中的魔法方法与运算符重载
在Python的奇妙世界里,魔法方法(Magic Methods)和运算符重载(Operator Overloading)是两个强大的特性,它们允许开发者以更自然、更直观的方式操作对象。本文将深入探讨这些概念,并通过实例展示如何利用它们来增强代码的可读性和表达力。
|
1月前
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
61 1
|
1月前
|
Linux Python
Python获得本机本地ip地址的方法
【10月更文挑战第8天】 socket模块包含了丰富的函数和方法,可以获取主机的ip地址,例如gethostbyname方法可以根据主机名获取ip地址,gethostbyname_ex方法可以获得本机所有ip地址列表,也可以使用netifaces模块获取网卡信息。
36 0
|
1月前
|
SQL 安全 数据库
Python防止SQL注入攻击的方法
Python防止SQL注入攻击的方法
47 0
|
1月前
|
安全 Java Python
基于python-django的Java网站全站漏洞检测系统
基于python-django的Java网站全站漏洞检测系统
33 0
|
1月前
|
Python
Python中tqdm模块的常用方法和示例
`tqdm` 是一个快速、可扩展的Python进度条库,适用于长循环中添加进度提示。通过封装迭代器 `tqdm(iterator)`,可以轻松实现进度显示。支持自定义描述、宽度及嵌套进度条,适用于多种迭代对象。在Jupyter notebook中,可自动调整显示效果。
34 0