java使用jdbc链接mysql数据库
时间: 2024-09-24 12:24:33 浏览: 51
在Java中使用JDBC(Java Database Connectivity)链接MySQL数据库需要几个步骤,以下是简单的概述:
1. **添加依赖**:
首先,你需要将MySQL的JDBC驱动(如mysql-connector-java)添加到你的项目中。如果你使用Maven,可以在pom.xml文件中添加如下依赖:
```xml
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version> <!-- 替换为你需要的版本 -->
</dependency>
```
2. **加载驱动**:
在Java代码中,你需要通过Class.forName()动态加载JDBC驱动,使其能在应用程序运行时找到数据库驱动程序:
```java
Class.forName("com.mysql.cj.jdbc.Driver");
```
3. **创建连接**:
创建一个`Connection`对象,传递数据库的URL、用户名和密码作为参数:
```java
String url = "jdbc:mysql://localhost:3306/mydatabase";
String user = "username";
String password = "password";
Connection connection = DriverManager.getConnection(url, user, password);
```
确保替换`mydatabase`、`username`和`password`为实际的数据库名、用户名和密码。
4. **执行SQL语句**:
使用`Statement`, `PreparedStatement`或`CallableStatement`执行SQL命令,例如获取数据:
```java
// 常规SQL查询
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT * FROM my_table");
// 使用PreparedStatement防止SQL注入
String sql = "SELECT * FROM my_table WHERE id = ?";
PreparedStatement preparedStatement = connection.prepareStatement(sql);
preparedStatement.setInt(1, 1);
resultSet = preparedStatement.executeQuery();
// 使用CallableStatement执行存储过程
CallableStatement callableStatement = connection.prepareCall("{call my_procedure(?)}");
callableStatement.setString(1, "some_value");
callableStatement.execute();
```
5. **处理结果集**:
使用`ResultSet`遍历查询结果:
```java
while (resultSet.next()) {
int column1 = resultSet.getInt("column1");
String column2 = resultSet.getString("column2");
System.out.println(column1 + ", " + column2);
}
```
6. **关闭资源**:
最后别忘了关闭`Statement`, `ResultSet`和`Connection`以释放数据库资源:
```java
resultSet.close();
statement.close();
connection.close();
```
阅读全文