首页 AI百科文章正文

java web连接mysql数据库

AI百科 2025年11月18日 22:00 258 admin

Java Web连接MySQL数据库的详细指南

在Java Web开发中,连接MySQL数据库是一个常见的任务,本文将详细介绍如何在Java Web项目中连接MySQL数据库,包括环境准备、配置数据源、编写JDBC代码以及使用连接池等步骤。

我们需要确保已经安装了MySQL数据库和JDK,我们需要在项目中添加MySQL JDBC驱动的依赖,对于Maven项目,可以在pom.xml文件中添加以下依赖:

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

我们需要配置数据源,在Spring Boot项目中,可以使用application.properties或application.yml文件来配置数据源。

java web连接mysql数据库

spring.datasource.url=jdbc:mysql://localhost:3306/your_database?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

我们可以使用JDBC API来连接MySQL数据库,以下是一个简单的示例:

java web连接mysql数据库

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class MySQLJDBCExample {
    public static void main(String[] args) {
        Connection connection = null;
        Statement statement = null;
        ResultSet resultSet = null;
        try {
            // 加载MySQL JDBC驱动
            Class.forName("com.mysql.cj.jdbc.Driver");
            // 建立连接
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/your_database", "root", "your_password");
            // 创建Statement对象
            statement = connection.createStatement();
            // 执行查询
            resultSet = statement.executeQuery("SELECT * FROM your_table");
            // 处理结果集
            while (resultSet.next()) {
                System.out.println(resultSet.getString("column_name"));
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 关闭资源
            try { if (resultSet != null) resultSet.close(); } catch (Exception e) {}
            try { if (statement != null) statement.close(); } catch (Exception e) {}
            try { if (connection != null) connection.close(); } catch (Exception e) {}
        }
    }
}

我们可以考虑使用连接池来提高性能和稳定性,常用的连接池有HikariCP、C3P0等,以下是使用HikariCP的示例:

import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class HikariCPExample {
    public static void main(String[] args) {
        HikariConfig config = new HikariConfig();
        config.setJdbcUrl("jdbc:mysql://localhost:3306/your_database");
        config.setUsername("root");
        config.setPassword("your_password");
        config.addDataSourceProperty("cachePrepStmts", "true");
        config.addDataSourceProperty("prepStmtCacheSize", "250");
        config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
        config.addDataSourceProperty("useServerPrepStmts", "true");
        config.addDataSourceProperty("rewriteBatchedStatements", "true");
        config.setMaximumPoolSize(10);
        DataSource dataSource = new HikariDataSource(config);
        Connection connection = null;
        Statement statement = null;
        ResultSet resultSet = null;
        try {
            connection = dataSource.getConnection();
            statement = connection.createStatement();
            resultSet = statement.executeQuery("SELECT * FROM your_table");
            while (resultSet.next()) {
                System.out.println(resultSet.getString("column_name"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            try { if (resultSet != null) resultSet.close(); } catch (SQLException e) {}
            try { if (statement != null) statement.close(); } catch (SQLException e) {}
            try { if (connection != null) connection.close(); } catch (SQLException e) {}
        }
    }
}

标签: Java Web

丫丫技术百科 备案号:新ICP备2024010732号-62 网站地图