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(); }
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解Java設(shè)計模式編程中命令模式的項目結(jié)構(gòu)實現(xiàn)
這篇文章主要介紹了Java設(shè)計模式編程中命令模式的項目結(jié)構(gòu)實現(xiàn),命令模式將請求與執(zhí)行分離,可以多個命令接口的實現(xiàn)類,隱藏真實的被調(diào)用方,需要的朋友可以參考下2016-04-04解決Eclipse配置Tomcat出現(xiàn)Cannot create a server using the selected
這篇文章主要介紹了解決Eclipse配置Tomcat出現(xiàn)Cannot create a server using the selected type錯誤的相關(guān)資料,需要的朋友可以參考下2017-02-02Java 中 Date 與 Calendar 之間的編輯與轉(zhuǎn)換實例詳解
這篇文章主要介紹了Java 中 Date 與 Calendar 之間的編輯與轉(zhuǎn)換 ,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-07-07