当前位置:首页 > Java

java如何连接mysql

2026-01-14 17:29:40Java

连接 MySQL 数据库的基本步骤

添加 MySQL 驱动依赖
在项目中引入 MySQL 的 JDBC 驱动。如果使用 Maven,在 pom.xml 中添加以下依赖:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.28</version>
</dependency>

加载驱动并建立连接
使用 Class.forName 加载驱动,并通过 DriverManager.getConnection 获取连接:

String url = "jdbc:mysql://localhost:3306/数据库名";
String username = "用户名";
String password = "密码";

Class.forName("com.mysql.cj.jdbc.Driver");
Connection connection = DriverManager.getConnection(url, username, password);

执行 SQL 查询
通过 StatementPreparedStatement 执行 SQL:

Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT * FROM 表名");

while (resultSet.next()) {
    System.out.println(resultSet.getString("字段名"));
}

关闭资源
操作完成后关闭连接、Statement 和 ResultSet:

java如何连接mysql

resultSet.close();
statement.close();
connection.close();

使用 PreparedStatement 防止 SQL 注入

通过参数化查询提升安全性:

String sql = "INSERT INTO 表名 (字段1, 字段2) VALUES (?, ?)";
PreparedStatement pstmt = connection.prepareStatement(sql);

pstmt.setString(1, "值1");
pstmt.setInt(2, 123);
pstmt.executeUpdate();

连接池配置(以 HikariCP 为例)

添加依赖

<dependency>
    <groupId>com.zaxxer</groupId>
    <artifactId>HikariCP</artifactId>
    <version>5.0.1</version>
</dependency>

配置连接池

java如何连接mysql

HikariConfig config = new HikariConfig();
config.setJdbcUrl("jdbc:mysql://localhost:3306/数据库名");
config.setUsername("用户名");
config.setPassword("密码");

HikariDataSource dataSource = new HikariDataSource(config);
Connection connection = dataSource.getConnection();

常见问题处理

时区错误
在连接 URL 中指定时区:

jdbc:mysql://localhost:3306/数据库名?serverTimezone=UTC

SSL 警告
禁用 SSL(仅限测试环境):

jdbc:mysql://localhost:3306/数据库名?useSSL=false

连接泄漏
推荐使用 try-with-resources 自动关闭资源:

try (Connection conn = DriverManager.getConnection(url, user, pass);
     Statement stmt = conn.createStatement()) {
    // 执行操作
}

标签: javamysql
分享给朋友:

相关文章

java如何学习

java如何学习

学习Java的有效方法 理解基础概念 Java是一门面向对象的编程语言,掌握基础概念如变量、数据类型、运算符、控制语句(if-else、循环)是必要的。面向对象的核心概念包括类、对象、继承、多态和封装…

java如何输出数组

java如何输出数组

输出数组的方法 在Java中,输出数组内容有多种方式,具体取决于数组类型和输出格式需求。以下是几种常见的方法: 使用Arrays.toString()方法 适用于一维数组,直接调用Arrays.to…

如何运行java项目

如何运行java项目

运行Java项目的步骤 确保Java环境已安装 在运行Java项目前,需确认系统已安装Java Development Kit(JDK)。通过命令行输入java -version和javac -ver…

java如何解决高并发

java如何解决高并发

Java 高并发解决方案 使用线程池优化资源管理 线程池(如 ThreadPoolExecutor)能避免频繁创建和销毁线程的开销。通过核心线程数、最大线程数和任务队列的合理配置,可以平衡系统负载。例…

java如何处理高并发

java如何处理高并发

Java处理高并发的方法 使用多线程和线程池 Java的java.util.concurrent包提供了线程池(如ThreadPoolExecutor)和并发工具类(如CountDownLatch、C…

java如何打印数组

java如何打印数组

打印数组的方法 在Java中,打印数组有多种方式,以下是几种常见的方法: 使用Arrays.toString()方法 这种方法适用于一维数组,可以快速将数组转换为字符串形式输出: int[] a…