网站首页 > 博客文章 正文
一、环境准备
1.1 依赖管理(Maven)
在项目的 pom.xml 中添加 MySQL 驱动依赖:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
二、基础连接实现
public class MySQLConnector {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydb";
String user = "root";
String password = "password";
try (Connection conn = DriverManager.getConnection(url, user, password)) {
System.out.println("连接成功!");
// 执行数据库操作...
} catch (SQLException e) {
System.err.println("连接失败:" + e.getMessage());
}
}
}
三、高级连接管理
3.1 连接池配置
ComboPooledDataSource dataSource = new ComboPooledDataSource();
dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/mydb");
dataSource.setUser("root");
dataSource.setPassword("password");
dataSource.setMinPoolSize(5);
dataSource.setMaxPoolSize(20);
dataSource.setAcquireIncrement(5);
3.2 异常处理最佳实践
try (Connection conn = dataSource.getConnection();
PreparedStatement stmt = conn.prepareStatement(sql)) {
// 执行操作
} catch (SQLTransientConnectionException e) {
// 处理临时连接异常(重试逻辑)
} catch (SQLNonTransientException e) {
// 处理永久性错误(如语法错误)
} finally {
// 自动关闭资源(try-with-resources)
}
四、 完整示例
public class DBUtil {
private static final String URL = "jdbc:mysql://localhost:3306/mydb";
private static final String USER = "root";
private static final String PASSWORD = "password";
static {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
} catch (ClassNotFoundException e) {
throw new RuntimeException("驱动加载失败", e);
}
}
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(URL, USER, PASSWORD);
}
public static void close(Connection conn, Statement stmt, ResultSet rs) {
try {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
if (conn != null) conn.close();
} catch (SQLException e) {
// 记录日志
}
}
}
猜你喜欢
- 2025-07-17 你没见过的分库分表原理解析和解决方案(二)
- 2025-07-17 安装MySQL(绿联nas安装mysql)
- 2025-07-17 SpringBoot数据库管理 - 用Liquibase对数据库管理和迁移?
- 2025-07-17 一个轻量级 Java 权限认证框架,Sa-Token 让鉴权变得简单、优雅!
- 2025-07-17 高效使用Java构建工具,Maven篇|云效工程师指北
- 2025-07-17 Java,screw,生成简洁好用的数据库表结构(html、doc、md)文档
- 2025-07-17 SpringBoot数据库操作的应用(springboot如何操作数据库)
- 2025-07-17 Mac Docker环境,利用Canal实现MySQL同步ES
- 2025-07-17 经常使用到开源的MySQL,今天我们就来系统地认识一下
- 2025-07-17 用 Spring AI Alibaba 开发了一款能连接 MySQL 的 MCP 服务,手把手教你
你 发表评论:
欢迎- 最近发表
-
- 印度IT咨询公司Infosys 获得谷歌5亿美元大单
- 印度信息技术巨头Infosys对地球观测初创公司GalaxEye进行战略投资
- 你没见过的分库分表原理解析和解决方案(二)
- 安装MySQL(绿联nas安装mysql)
- SpringBoot数据库管理 - 用Liquibase对数据库管理和迁移?
- 一个轻量级 Java 权限认证框架,Sa-Token 让鉴权变得简单、优雅!
- 高效使用Java构建工具,Maven篇|云效工程师指北
- Java,screw,生成简洁好用的数据库表结构(html、doc、md)文档
- SpringBoot数据库操作的应用(springboot如何操作数据库)
- Mac Docker环境,利用Canal实现MySQL同步ES
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- flutterrun (59)
- 系统设计图 (58)
- powershellfor (73)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- qcombobox样式表 (68)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)