JDBC连接Mysql的五种方式
测试环境说明
mysql数据库:jdbc:mysql://localhost:3306/test
IDE:IDEA 2022
JDK:JDK8
mysql:mysql 5.7
JDBC:5.1.37
第一种方式
使用静态加载驱动方式,连接mysql
这种方式灵活性差,依赖性强
public void connection01() throws SQLException {// 注册驱动Driver driver = new Driver();// 创建Properties对象,用于保存mysql账号和密码键值对Properties properties = new Properties();properties.setProperty("user", "root");properties.setProperty("password", "123456");String url = "jdbc:mysql://localhost:3306/test";// 得到mysql的连接Connection connection = driver.connect(url, properties);// 得到可以与mysql语句进行交互的对象Statement statement = connection.createStatement();// 关闭与 mysql语句进行交互的对象statement.close();// 关闭与mysql的连接connection.close();
第二种方式
在第一种方式的基础上使用反射动态加载驱动,依赖性减小、灵活性提高
public void connection02() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {// 使用反射动态加载mysql驱动件程序Class<?> aClass = Class.forName("com.mysql.jdbc.Driver");Driver driver = (Driver) aClass.newInstance();// 创建Properties对象,用于保存mysql账号和密码键值对Properties properties = new Properties();properties.setProperty("user", "root");properties.setProperty("password", "123456");String url = "jdbc:mysql://localhost:3306/test";// 得到mysql的连接Connection connection = driver.connect(url, properties);// 得到可以与mysql语句进行交互的对象Statement statement = connection.createStatement();// 关闭与 mysql语句进行交互的对象statement.close();// 关闭与 mysql语句进行交互的对象connection.close();
}
第三种方式
使用DriverManager统一进行管理
public void connection03() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {// 使用反射动态加载mysql驱动件程序Class<?> aClass = Class.forName("com.mysql.jdbc.Driver");Driver driver = (Driver) aClass.newInstance();String user = "root";String password = "123456";String url = "jdbc:mysql://localhost:3306/test";// 使用DriverManager加载DriverDriverManager.registerDriver(driver);// 得到mysql的连接Connection connection = DriverManager.getConnection(url, user, password);// 得到可以与mysql语句进行交互的对象Statement statement = connection.createStatement();// 关闭与 mysql语句进行交互的对象statement.close();// 关闭与 mysql语句进行交互的对象connection.close();
}
第四种方式
其实Class.forName(“com.mysql.jdbc.Driver”)在底层已经自动加载好了Driver实例
所以Driver driver = (Driver) aClass.newInstance();这句话可以省略
这种方式也是开发中使用最多的一种方式
public void connection04() throws ClassNotFoundException, SQLException {// 使用反射动态加载mysql驱动件程序Class<?> aClass = Class.forName("com.mysql.jdbc.Driver");String user = "root";String password = "123456";String url = "jdbc:mysql://localhost:3306/test";// 得到mysql的连接Connection connection = DriverManager.getConnection(url, user, password);// 得到可以与mysql语句进行交互的对象Statement statement = connection.createStatement();// 关闭与 mysql语句进行交互的对象statement.close();// 关闭与 mysql语句进行交互的对象connection.close();
}
第五种方式
mysql5.16后可以不用Class.forName(“com.mysql.jdbc.Driver”);来加载驱动了
从jdk1.5以后使用了jdbc4,不再需要显示调用class.forName()注册驱动而是自动调用驱动jar包下META-INF\services\java.sql.Driver文本中的类名称去注册
建议还是写上 CLass . forName(“com.mysql.jdbc.Driver”),更加明确,兼容性更好
这里同时使用properties配置文件实现动态信息动态读取,灵活性得到提升
推荐使用这种方式
src/com/mysql/mysql.properties配置文件内容如下
url=jdbc:mysql://localhost:3306/test
user=root
password=123456
连接mysql程序
public void connection05() throws SQLException, ClassNotFoundException, IOException {// 使用Properties读取配置文件下的内容Properties properties = new Properties();properties.load(new FileInputStream("src/com/mysql/mysql.properties"));String url = properties.getProperty("url");String user = properties.getProperty("user");String password = properties.getProperty("password");// 得到mysql的连接Connection connection = DriverManager.getConnection(url, user, password);// 得到可以与mysql语句进行交互的对象Statement statement = connection.createStatement();// 关闭与 mysql语句进行交互的对象statement.close();// 关闭与 mysql语句进行交互的对象connection.close();
}
JDBC连接Mysql的五种方式相关推荐
- Jdbc连接mysql的五种连接方式
一:五种连接方式 直接上码 package com.wyjedu.jdbc;import com.mysql.jdbc.Driver;import java.io.FileInputStream; i ...
- php mysql 连接方法 对比_Mysql实例php连接MySQL的两种方式对比
<Mysql实例php连接MySQL的两种方式对比>要点: 本文介绍了Mysql实例php连接MySQL的两种方式对比,希望对您有用.如果有疑问,可以联系我们. MYSQL数据库记录一下P ...
- python连接mysql三种方式_用 Python 连接 MySQL 的几种方式详解
每个学 Python 的都有必要学好一门数据库,不管你是做数据分析,还是网络爬虫,Web 开发.亦或是机器学习,你都离不开要和数据库打交道,而 MySQL 又是最流行的一种数据库,这篇文章介绍 Pyt ...
- 连接MySQL的5种方式
我们从事项目开发,和数据库打交道是必不可少的环节.今天为大家分享Java中连接数据库(本文演示使用的是MySQL数据库,其他关系型数据库类似)常用的5种方式,读者可以自行比较优缺点,在实际项目开发或学 ...
- C++连接mysql的两种方式(ADO连接和mysql api连接)
一.ADO连接mysql 1.安装mysql-5.5.20-win32.msi和mysql-connector-odbc-5.3.4-win32.msi(一般两个安装程序要匹配,否则可能连接不上) ...
- node连接MySQL的三种方式
以下我们将说明node连接数据库的三种方式,并进行利弊说明,以挑选出最适合项目的连接方式. 1.使用mysql包的提供的接口进行连接 例如: connection.query('SELECT * FR ...
- 路由 php mysql_Php 连接 MySQL 的三种方式
PHP与MySQL的连接有三种API接口 分别是:PHP的MySQL扩展 .PHP的mysqli扩展 .PHP数据对象(PDO) ,下面针对以上三种连接方式做下总结,以备在不同场景下选出最优方案. P ...
- python连接mysql的几种方式_Python连接MySQL数据库的多种方式
本次代码实现连接远程服务器 由于MySQL服务器以独立的进程运行,并通过网络对外服务,所以,需要支持Python的MySQL驱动来连接到MySQL服务器. 目前,MySQL驱动有几种: mysql-c ...
- java连接MySQL几种方法_Java连接MySQL数据库三种方法
好久没有更新博客了!今天利用周目时学习了一下数据库mysql.介绍一下数据库的三种连接方式! 开发工具:Myeclipse MySQL5.6 MySQL连接驱动:mysql-connector-jav ...
最新文章
- poj2240(Bellman-ford)
- Java堆内存是线程共享的!面试官:你确定吗?
- mysql多实例(mysqld_multi方式)
- The return types for the following stored procedures could not be detected
- CSS3属性——(一)
- 把一个dataset的表放在另一个dataset里面_现在开始:用你的Mac训练和部署一个图像分类模型...
- 锐界机器人_2019款锐界智能家居远程控制使用介绍
- 10W阅读,万人点赞,这套大数据平台建设方法论,到底有什么干货
- python如何表示坐标_python – 如何制作x坐标字母?
- pandas 如何删掉第一行_Pandas-数据筛选
- 通过MVC模式将Web视图和逻辑代码分离
- 如何避免向下传递回调?
- 比较大小教案计算机西瓜,比较大小小班教案
- Web3D编程入门总结——WebGL与Three.js基础介绍
- Android 百度地图搜索框实现,仿百度地图街景实现
- STM32----矩阵按键
- TFS2010 - 强制撤销签出
- android启用hdcp_如何在Android Auto上启用开发人员设置
- 三人行,必有我师焉!
- 代码设置textField和textView的border和borderColor
热门文章
- Mittag-Leffler定理,Weierstrass因子分解定理和插值定理
- 2.2 黑群晖驱动安装:Synology Photos人脸识别
- 功率因数 、有功、无功之间的关系
- 淘宝助理 引用picture存在盗链解决方案
- OMS系统之push_tb_wait_send_data表的索引优化
- 深度学习训练营之识别宝可梦人物和角色
- 【金融】金融数学(一)——术语概念
- 宝马自动驾驶战略 - 深度学习的部署【附PDF原版英文资料下载】
- 周末了,围观知乎福利话题,放松一下
- 计算机编程在生物学的应用,生物信息学_复习题及答案(打印)