jdbc返回sql执行时间
时间: 2023-07-25 10:04:16 浏览: 88
可以通过Java代码来获取SQL的执行时间。具体步骤如下:
1. 在执行SQL语句之前,获取当前时间戳。
```java
long startTime = System.currentTimeMillis();
```
2. 执行SQL语句。
```java
// 假设sql为要执行的SQL语句
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
```
3. 在执行SQL语句之后,获取当前时间戳。
```java
long endTime = System.currentTimeMillis();
```
4. 计算SQL执行的时间差。
```java
long executeTime = endTime - startTime;
```
完整代码示例如下:
```java
import java.sql.*;
public class JdbcDemo {
public static void main(String[] args) throws SQLException {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
// 获取数据库连接
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
// 获取当前时间戳
long startTime = System.currentTimeMillis();
// 执行SQL语句
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT * FROM user");
// 输出查询结果
while (rs.next()) {
System.out.println(rs.getInt("id") + "," + rs.getString("name") + "," + rs.getInt("age"));
}
// 获取当前时间戳
long endTime = System.currentTimeMillis();
// 计算SQL执行时间
long executeTime = endTime - startTime;
System.out.println("SQL执行时间:" + executeTime + "ms");
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭资源
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
}
}
}
```