技术文摘
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 连接的方法各有优缺点,在实际项目中,应根据具体需求选择合适的方式。
- Vue.js中动态变更标签样式无效的原因
- JavaScript 中 return 有哪些巧妙用法
- 用/^([\u4E00-\u9FA5])*$/正则表达式判断字符串是否仅含中文的方法
- vertical-align 无法实现垂直居中的原因
- 刷新页面触发事件有哪些 及如何监听DOM元素加载与变化
- Bootstrap 侧边栏关闭与内容区域全屏显示方法
- 页面刷新时怎样避免弹框消失
- 读取存入数据库的KindEditor网页编辑器内容的方法
- el-tab-pane 中封装 Table 组件样式出现异常该怎么解决
- 正则表达式匹配正整数与一位小数的方法
- 前端框架介绍及其与 jQuery、后端架构的区别
- vertical-align 无法垂直居中的原因
- 什么是前端框架?它和后台框架的区别在哪?
- Ant Design Vue中用ECharts创建类似给定图像的圆形图表方法
- a标签高度比图片高的原因