jdbc连接mysql的五种方式(代码片段)

神笔码农. 神笔码农.     2022-12-19     355

关键词:

测试环境说明

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加载Driver
    DriverManager.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>获取数据库连接的五种方式:你真的get到了吗?

...概述🔥体系结构🔥JDBC编写顺序二、获取数据库连接🔥要点一& 查看详情

jdbc数据库的几种连接方式(代码片段)

前言:JDBC中一般有五种连接方式,这五种方式都给大家分享下,大家根据真实的业务场景去选择连接方式。JDBC操作步骤:获取driver对象注册驱动(方式一、方式二不需要注册,因为直接通过driver对象获取... 查看详情

服务探活的五种方式(代码片段)

几个月前,我在《4个实验,彻底搞懂TCP连接的断开》这篇文章中给自己挖了个坑:文中提到的实际问题就是服务探活,今天来填上这个坑。在微服务架构下,服务提供方(Provider)的节点一般不止一个,消费方(Consumer)根据负... 查看详情

读取属性配置文件的五种方式(代码片段)

读取属性配置文件的五种方式读取属性配置文件的五种方式读取属性配置的示例属性配置文件方式一:使用注解@Value读取属性配置方式二:使用注解@ConfigurationProperties读取属性配置方式三:使用注解@PropertySou... 查看详情

[简约webapi]php连接mssqlserver的五种方法总结(代码片段)

参考了下php官方手册总结了五种PHP连接MSsqlserver的方法,mssql_系列函数,sqlsrv_系列函数,odbc方式连接sqlserver,PDO方式连接sqlserver,COM方式连接 参考php手册,对php连接sqlserver系列做出个小结。主要有五种方式:一、通过mssql_系列函数... 查看详情

list的五种去重方式(代码片段)

//set集合去重,不改变原有的顺序publicstaticvoidpastLeep1(List<String>list)System.out.println("list=["+list.toString()+"]");List<String>listNew=newArrayList<>();Setset=newHashSet();for(Stringstr: 查看详情

通过jndi创建连接池(代码片段)

配置Context的五种方式1,由服务器创建的连接池一定要将mysql驱动文件放在tomcat的lib文件夹内2,在META-INF文件夹里新建context.xml(发布web应用的时候会在tomcat/conf/Catalina/localhost生成配置文件)1<Context...>2...3<Resourcename="jdbc/Employee... 查看详情

圣杯布局的五种方式(代码片段)

方法一center还在文本流之中,会影响到后面的元素,不影响前面的元素<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content= 查看详情

nginxupstream的五种分配方式(代码片段)

Nginx负载均衡选项upstream用法举例1、轮询(weight=1)默认选项,当weight不指定时,各服务器weight相同,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。upstreambakendserver192.168.1.10;server192.168.1.11;&... 查看详情

物体运动的五种方式(很重要)(代码片段)

1**************************************2物体运动的几种方式:31.4this.transform.position+=Vector3.left*Time.deltaTime;5/*Vector3.left是Vector3的一个属性,表示的是3为坐标系中的向左的单位向量,6实质和newVector3(-1,0,0)是一个效果。还有right,up,down,f 查看详情

mybatis批量插入的五种方式归纳总结(代码片段)

前言:这里我列举了MyBatis和MyBatis-Plus常用的五种批量插入的方式,进行了详细的总结归纳,写的非常详细,整体思路清晰明了,只分享干货。目录一、准备工作二、MyBatis利用For循环批量插入三、MyBatis的手动... 查看详情

进程间的五种通信方式介绍(代码片段)

进程间通信(IPC)介绍 进程间通信(IPC,InterProcessCommunication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中Socket和Streams支持... 查看详情

进程间的五种通信方式介绍(代码片段)

进程间通信(IPC,InterProcessCommunication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中Socket和Streams支持不同主机上的两个进程IPC。... 查看详情

jdbc数据库的几种连接方式(代码片段)

前言:JDBC中一般有五种连接方式,这五种方式都给大家分享下,大家根据真实的业务场景去选择连接方式。JDBC操作步骤:获取driver对象注册驱动(方式一、方式二不需要注册,因为直接通过driver对象获取... 查看详情

jdbc数据库的几种连接方式(代码片段)

前言:JDBC中一般有五种连接方式,这五种方式都给大家分享下,大家根据真实的业务场景去选择连接方式。JDBC操作步骤:获取driver对象注册驱动(方式一、方式二不需要注册,因为直接通过driver对象获取... 查看详情

list去除重复数据的五种方式,舒服~(代码片段)

以下介绍五种-不同的方法去除Java中ArrayList中的重复数据1.使用LinkedHashSet删除arraylist中的重复数据LinkedHashSet是在一个ArrayList删除重复数据的最佳方法。LinkedHashSet在内部完成两件事:删除重复数据保持添加到其中的数据的顺序... 查看详情

list去除重复数据的五种方式(代码片段)

List在Java开发中用得非常多,数据处理方面,咱们经常需要对重复数据去重。以下介绍五种-不同的方法去除Java中ArrayList中的重复数据1、使用LinkedHashSet删除arraylist中的重复数据LinkedHashSet是在一个ArrayList删除重复数据的最... 查看详情

万变不离核心基础第三关——字符串与字符串之间连接的五种方式/字符串与非字符串之间连接的三种方式(代码片段)

...:第一部分——考点:字符串与字符串之间如何连接。字符串与非字符串之间如何连接。第二部分——面试题:1.面试题一:字符串与字符串之间连接有几种方式。2.面试题二:字符串如何与非字符串之间连接... 查看详情