Mybatis的resultMap返回map問題
更新時(shí)間:2022年02月07日 09:29:04 作者:如果屈原會(huì)編程
這篇文章主要介紹了Mybatis的resultMap返回map問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
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>
簡(jiǎn)單封裝resultMap返回對(duì)象為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(); }
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解Java設(shè)計(jì)模式編程中命令模式的項(xiàng)目結(jié)構(gòu)實(shí)現(xiàn)
這篇文章主要介紹了Java設(shè)計(jì)模式編程中命令模式的項(xiàng)目結(jié)構(gòu)實(shí)現(xiàn),命令模式將請(qǐng)求與執(zhí)行分離,可以多個(gè)命令接口的實(shí)現(xiàn)類,隱藏真實(shí)的被調(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錯(cuò)誤的相關(guān)資料,需要的朋友可以參考下2017-02-02Java 中 Date 與 Calendar 之間的編輯與轉(zhuǎn)換實(shí)例詳解
這篇文章主要介紹了Java 中 Date 與 Calendar 之間的編輯與轉(zhuǎn)換 ,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-07-07簡(jiǎn)單了解java ibatis #及$的區(qū)別和用法
這篇文章主要介紹了簡(jiǎn)單了解java ibatis #及$的區(qū)別和用法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09mybatis?一對(duì)多映射?column屬性的注意事項(xiàng)說明
這篇文章主要介紹了mybatis?一對(duì)多映射?column屬性的注意事項(xiàng)說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。2022-01-01