写个java的jdbc工具类
时间: 2023-10-29 08:08:15 浏览: 37
以下是一个简单的Java JDBC工具类的示例,用于连接数据库并执行SQL查询:
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class JdbcUtils {
private static final String URL = "jdbc:mysql://localhost:3306/test";
private static final String USERNAME = "username";
private static final String PASSWORD = "password";
// 加载数据库驱动
static {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
// 获取数据库连接
public static Connection getConnection() throws SQLException {
Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
return conn;
}
// 关闭数据库连接
public static void close(Connection conn, PreparedStatement ps, ResultSet rs) {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
// 执行查询SQL
public static ResultSet executeQuery(String sql, Object... params) throws SQLException {
Connection conn = getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
for (int i = 0; i < params.length; i++) {
ps.setObject(i + 1, params[i]);
}
ResultSet rs = ps.executeQuery();
return rs;
}
}
```
使用该工具类,可以连接到数据库并执行查询:
```java
try {
ResultSet rs = JdbcUtils.executeQuery("SELECT * FROM users WHERE id = ?", 1);
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
String email = rs.getString("email");
System.out.println("id=" + id + ", name=" + name + ", email=" + email);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
JdbcUtils.close(conn, ps, rs);
}
```