當前位置:編程學習大全網 - 源碼下載 - mybatis 查詢數據庫返回值某字段是 List 該怎麽搞

mybatis 查詢數據庫返回值某字段是 List 該怎麽搞

<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}

</if>

</where>

</select>

以上示例中表示查詢id>某個數值的所有結果,返回類型為MAP

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

private void executeStatement(String command) throws SQLException, UnsupportedEncodingException {

boolean hasResults = false;

Statement statement = connection.createStatement();

statement.setEscapeProcessing(escapeProcessing);

String sql = command;

if (removeCRs)

sql = sql.replaceAll("\r\n", "\n");

if (stopOnError) {

hasResults = statement.execute(sql);

} else {

try {

hasResults = statement.execute(sql);

} catch (SQLException e) {

String message = "Error executing: " + command + ". Cause: " + e;

printlnError(message);

}

}

printResults(statement, hasResults);

try {

statement.close();

} catch (Exception e) {

// Ignore to workaround a bug in some connection pools

}

}

...

有結果時,最後調用了這個方法打印出來而已。

private void print(Object o) {

if (logWriter != null) {

logWriter.print(o);

logWriter.flush();

}

}

妳可以調用

public void setLogWriter(PrintWriter logWriter) {

this.logWriter = logWriter;

}

傳入妳自己的Writer。

  • 上一篇:網站建設與管理
  • 下一篇:帶有成員源代碼的網站
  • copyright 2024編程學習大全網