當前位置:首頁 » 編程語言 » java獲取sql執行消耗
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

java獲取sql執行消耗

發布時間: 2022-09-06 21:25:33

㈠ java中如何返回伺服器端sql語句執行的時間。

自己算的吧.記錄開始時間和結束時間,end-start吧 start=System.currentTimeMillis(); 執行sql.end=System.currentTimeMillis(); 時間就是end-start

㈡ JAVA使用mybatis執行sql腳本,怎麼獲取sql腳本的查詢結果

<selectid="DAO介面方法名稱"parameterType="參數類型"resultType="返回結果類型">
select*from表where。。。
</select>

resultType 可以是任意Object對象,如果多條數據,這這個方法返回的是List<Object?>,

如果確認是單條數據,可以直接 Object? ***(**); 。


沒有封裝成對象時,默認返回的是List<Map<欄位名稱String,列值Object>>這樣的數據。

Dao介面:
List<Map<String,Object>>list(Integerid);
SQL:
<selectid="list"parameterType="Integer"resultType="Map">
select*fromaaa
<where>
<iftest="null!=id">
id&gt;#{id}
</if>
</where>
</select>
以上示例中表示查詢id>某個數值的所有結果,返回類型為MAP


執行腳本後沒有返回結果的吧,看ScriptRunner源碼,沒有提供任何返回結果的。

privatevoidexecuteStatement(Stringcommand)throwsSQLException,UnsupportedEncodingException{
booleanhasResults=false;
Statementstatement=connection.createStatement();
statement.setEscapeProcessing(escapeProcessing);
Stringsql=command;
if(removeCRs)
sql=sql.replaceAll(" "," ");
if(stopOnError){
hasResults=statement.execute(sql);
}else{
try{
hasResults=statement.execute(sql);
}catch(SQLExceptione){
Stringmessage="Errorexecuting:"+command+".Cause:"+e;
printlnError(message);
}
}
printResults(statement,hasResults);
try{
statement.close();
}catch(Exceptione){
//
}
}

...

有結果時,最後調用了這個方法列印出來而已。
privatevoidprint(Objecto){
if(logWriter!=null){
logWriter.print(o);
logWriter.flush();
}
}

你可以調用
publicvoidsetLogWriter(PrintWriterlogWriter){
this.logWriter=logWriter;
}
傳入你自己的Writer。

㈢ java使用mybatis執行sql腳本,怎麼獲取sql腳本的結果

<select id="DAO介面方法名稱" parameterType="參數類型" resultType="返回結果類型">
select * from 表 where 。。。
</select>

resultType 可以是任意Object對象,如果多條數據,這這個方法返回的是List<Object?>,
如果確認是單條數據,可以直接 Object? ***(**); 。

沒有封裝成對象時,默認返回的是List<Map<欄位名稱String,列值Object>>這樣的數據。

Dao介面:
List<Map<String,Object>> list(Integer id);
SQL:
<select id="list" parameterType="Integer" resultType="Map">
select * from aaa
<where>
<if test="null!=id">
id >#{id}

㈣ java 獲取SQL查詢語句返回的結果

step1:構造連接
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/db","root","123");

step2:構造語句
String sql = "select username,password from t_user where username=?";
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1, "zhangshan"); //給SQL的"?"(問號)傳值。

step3:執行查詢
ResultSet rs = stmt.executeQuery(); //rs就是SQL查詢語句返回的結果集

step4:處理結果(java 獲取SQL查詢語句返回的結果)
List list = new ArrayList();
//遍歷結果集,這樣寫就可以了,就是一個循環,有多少條記錄,這里就會循環多少次,
//一次就是一條記錄,想像一下就像一個表的一條記錄
//在這里可以做查詢出來的數據處理,可以封裝成對象之類的(就是把值給它)
if(rs.next()) { //遍歷結果集,這樣寫就可以了
User u = new User();
String username = rs.getString("username");
String address = rs.getString("password ");
u.setUsername(username);
u.setAddress(address);
list.add(u);
}
//上面這個例子意思是,把每一條記錄封裝成了一個User對象,然後這些User對象都放存入到了一個list

step4:關閉連接等

㈤ Java 獲取SQL語句的執行時間

史上最高效最簡單的方法
java.sql.Date currentDate = new java.sql.Date(System.currentTimeMillis());

㈥ hibernate怎麼獲取某條SQL執行消耗的時間

System.out.println(startDateTime);
執行語句
System.out.println(endDateTime);