Java连接数据库代码
时间: 2023-09-23 07:07:13 浏览: 30
以下是Java连接MySQL数据库的代码示例:
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DatabaseConnection {
private static final String URL = "jdbc:mysql://localhost:3306/mydatabase";
private static final String USERNAME = "root";
private static final String PASSWORD = "password";
public static Connection getConnection() {
Connection connection = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
return connection;
}
}
```
说明:
- `URL`:数据库连接URL,格式为jdbc:mysql://host:port/databaseName,其中host为数据库主机名,port为数据库端口号,databaseName为数据库名称。
- `USERNAME`和`PASSWORD`:数据库登录用户名和密码。
- `getConnection()`方法:用于获取数据库连接对象。其中,`Class.forName("com.mysql.cj.jdbc.Driver")`用于加载MySQL驱动程序,`DriverManager.getConnection()`用于建立数据库连接。
使用示例:
```java
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class TestDatabaseConnection {
public static void main(String[] args) {
Connection connection = DatabaseConnection.getConnection();
try {
PreparedStatement statement = connection.prepareStatement("SELECT * FROM users");
ResultSet resultSet = statement.executeQuery();
while (resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
String email = resultSet.getString("email");
System.out.println(id + "\t" + name + "\t" + email);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
```
说明:
- `prepareStatement()`方法:用于创建预编译的SQL语句对象。
- `executeQuery()`方法:用于执行查询操作。
- `ResultSet`对象:用于保存查询结果集,可以通过`next()`方法逐行读取结果集。其中,`getInt()`和`getString()`方法分别用于获取指定列的整数和字符串类型的值。
- `close()`方法:用于关闭数据库连接对象。在finally块中使用,确保在发生异常时也能正确关闭连接。