技术文摘
Java 获取 MySQL 连接的三种方法(附示例图)
2025-01-15 03:49:39 小编
Java 获取 MySQL 连接的三种方法(附示例图)
在 Java 开发中,与 MySQL 数据库建立连接是一项基础且重要的操作。本文将详细介绍三种常见的获取 MySQL 连接的方法,并附上示例图以便理解。
一、使用 JDBC 原生方式
JDBC(Java Database Connectivity)是 Java 访问数据库的标准 API。使用这种方式,首先要导入 MySQL 的 JDBC 驱动包。在代码中,需加载驱动类,然后通过 DriverManager.getConnection() 方法获取连接。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class JDBCExample {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/yourdatabase";
String username = "yourusername";
String password = "yourpassword";
Connection connection = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
connection = DriverManager.getConnection(url, username, password);
System.out.println("连接成功");
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
} finally {
if (connection!= null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
示例图:[展示 JDBC 原生方式连接过程的流程图,从加载驱动到获取连接再到关闭连接]
二、使用数据库连接池
数据库连接池能预先创建一定数量的连接对象,当有请求时直接从池中获取连接,使用后再放回池中,从而提高连接的复用率和性能。常见的连接池有 HikariCP、C3P0 等。以 HikariCP 为例:
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import java.sql.Connection;
import java.sql.SQLException;
public class HikariCPExample {
public static void main(String[] args) {
HikariConfig config = new HikariConfig();
config.setJdbcUrl("jdbc:mysql://localhost:3306/yourdatabase");
config.setUsername("yourusername");
config.setPassword("yourpassword");
HikariDataSource dataSource = new HikariDataSource(config);
Connection connection = null;
try {
connection = dataSource.getConnection();
System.out.println("连接成功");
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (connection!= null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
示例图:[展示 HikariCP 连接池工作原理的示意图,包括连接池的初始化、获取连接和归还连接的过程]
三、使用 Spring JDBC
Spring 框架提供了方便的 JDBC 支持。首先要在项目中引入 Spring JDBC 相关的依赖。通过配置数据源和 JdbcTemplate,可以轻松获取连接并进行数据库操作。
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/yourdatabase"/>
<property name="username" value="yourusername"/>
<property name="password" value="yourpassword"/>
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<constructor-arg ref="dataSource"/>
</bean>
示例图:[展示 Spring JDBC 架构中数据源、JdbcTemplate 和数据库之间关系的架构图]
这三种获取 MySQL 连接的方法各有优缺点,在实际项目中,应根据具体需求选择合适的方式。
- HTML DOM 如何输出列表中每行的姓名与年龄
- 苹果电脑浏览器背景图亮度存差异,网页上下部背景图为何色差明显
- 构建模拟:从零起步的实时交易模拟器
- for 循环与 onclick 事件里循环变量 i 为何始终为 3
- Vue项目如何自动打开浏览器并访问localhost
- React Native 项目升级至新架构指南
- Emmet中*运算符失效的原因
- Google 9.0下Vue项目Deep样式失效:常见问题剖析与解决之道
- Vue项目自动打开浏览器并显示正确地址的方法
- 按钮点击后 :focus伪类样式为何仍可见
- 多语言小程序实现自动语言切换的方法
- Emmet语法中*n不起作用如何解决
- Vue项目用htmlWebpackPlugins动态配置Favicon后页面空白无法加载的解决办法
- Flex 布局下元素宽度为 0 时怎样防止挤占其他元素空间
- Google 9.0 下 Vue 项目 common.css 里 deep 样式失效的原因