java如何连接mysql
连接MySQL的步骤
在Java中连接MySQL数据库需要使用JDBC(Java Database Connectivity)驱动。以下是详细的连接步骤。
添加MySQL JDBC驱动依赖
在项目中添加MySQL JDBC驱动的依赖。如果使用Maven,可以在pom.xml中添加以下依赖:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
</dependency>
如果使用Gradle,可以在build.gradle中添加:
implementation 'mysql:mysql-connector-java:8.0.28'
加载JDBC驱动
在代码中加载MySQL JDBC驱动类:
Class.forName("com.mysql.cj.jdbc.Driver");
建立数据库连接
使用DriverManager.getConnection方法建立与MySQL数据库的连接。需要提供数据库URL、用户名和密码:
String url = "jdbc:mysql://localhost:3306/mydatabase";
String username = "root";
String password = "password";
Connection connection = DriverManager.getConnection(url, username, password);
执行SQL查询
通过Connection对象创建Statement或PreparedStatement执行SQL查询:
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT * FROM mytable");
处理查询结果
遍历ResultSet获取查询结果:
while (resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
System.out.println("ID: " + id + ", Name: " + name);
}
关闭连接
使用完毕后关闭ResultSet、Statement和Connection:
resultSet.close();
statement.close();
connection.close();
使用连接池优化性能
在高并发场景下,建议使用连接池(如HikariCP)管理数据库连接:
HikariConfig config = new HikariConfig();
config.setJdbcUrl("jdbc:mysql://localhost:3306/mydatabase");
config.setUsername("root");
config.setPassword("password");
HikariDataSource dataSource = new HikariDataSource(config);
Connection connection = dataSource.getConnection();
异常处理
在连接和操作数据库时,需要捕获SQLException:
try {
Connection connection = DriverManager.getConnection(url, username, password);
// 执行操作
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭资源
}
使用PreparedStatement防止SQL注入
使用PreparedStatement可以防止SQL注入攻击:
String sql = "SELECT * FROM users WHERE username = ? AND password = ?";
PreparedStatement preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, username);
preparedStatement.setString(2, password);
ResultSet resultSet = preparedStatement.executeQuery();
以上步骤涵盖了Java连接MySQL的基本流程和常见优化方法。







