Mybatis的resultMap返回map問題
更新時間:2022年02月07日 09:29:04 作者:如果屈原會編程
這篇文章主要介紹了Mybatis的resultMap返回map問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
resultMap返回map問題
<resultMap type="Map" id="bankMaintainMap">
<result column="bank_name" property="bankName"/>
<result column="maintain_time_interval" property="maintainTimeInterval"/>
</resultMap>
<select id="getMaintainNotice" parameterType="Map" resultMap="bankMaintainMap">
select
bank_name,
maintain_time_interval
from
fp_channel_prd_bank
where
channel_prd_id=7
and
maintain_time_interval
</select>簡單封裝resultMap返回對象為map
public class DbUtils {
private static String host = "47.93.******";
private static String port = "3306";
private static String username = "*****";
private static String password = "******";
private static String database = "******";
static {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (Exception e) {
}
}
private static Connection getConn() {
Connection conn = null;
try {
String url = "jdbc:mysql://" + host + ":" + port + "/" + database;
conn = DriverManager.getConnection(url, username, password);
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
public static List<Map<String, Object>> execQuery(String sql, Object[] args) throws Exception {
Connection conn = getConn();
PreparedStatement ps = conn.prepareCall(sql);
ResultSet rs = null;
int count = StringUtils.countMatches(sql, "?");
//變量賦值。。。。。。
for (int i = 0; i < count; i++) {
ps.setObject(i, args[i]);
}
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
rs = ps.executeQuery();
ResultSetMetaData metaData = rs.getMetaData();
//注意。。metaData.getColumnName 獲取字段名,rs.getObject 獲取屬性 是從 1 開始的,而不是從0 開始
while (rs.next()) {
int rowSize = metaData.getColumnCount();
Map<String, Object> map = new HashMap<>();
for (int i = 1; i <= rowSize; i++) {
String labelName = metaData.getColumnName(i);
Object obj = rs.getObject(labelName);
map.put(labelName, obj);
}
list.add(map);
}
close(conn, ps, rs);
return list;
}
/**
* @param conn
* @param ps
* @param rs
* @throws Exception
*/
private static void close(Connection conn, PreparedStatement ps, ResultSet rs) throws Exception {
rs.close();
ps.close();
conn.close();
}以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
MyBatis測試報錯:Cannot?determine?value?type?from?string?&a
這篇文章主要給大家介紹了關于MyBatis測試報錯:Cannot?determine?value?type?from?string?'xxx'的解決辦法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-02-02
Spring加載配置和讀取多個Properties文件的講解
今天小編就為大家分享一篇關于Spring加載配置和讀取多個Properties文件的講解,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03
java 中的static關鍵字和final關鍵字的不同之處
java 中的static關鍵字和final關鍵字的不同之處,需要的朋友可以參考一下2013-03-03
淺談Java finally語句到底是在return之前還是之后執(zhí)行(必看篇)
下面小編就為大家?guī)硪黄獪\談Java finally語句到底是在return之前還是之后執(zhí)行(必看篇)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06
Java Swing JRadioButton單選按鈕具體使用
這篇文章主要介紹了Java Swing JRadioButton單選按鈕具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-12-12

