今天在做項(xiàng)目開發(fā)的時(shí)候,發(fā)現(xiàn)數(shù)據(jù)庫(kù)查詢返回的數(shù)據(jù)列名順序不對(duì),查詢語(yǔ)句為select id,name from info_user,按道理返回的列順序應(yīng)該是id,name,但是由于HashMap的無序性,造成返回的數(shù)據(jù)是name,id,對(duì)此,我重寫了MapListHandler的handleRow方法,故將代碼備份如下:
public class LinkMapListHandler extends MapListHandler{ @Override protected Map<String, Object> handleRow(ResultSet rs) throws SQLException { Map<String, Object> result = new LinkedHashMap<String, Object>(); ResultSetMetaData rsmd = rs.getMetaData(); int cols = rsmd.getColumnCount(); for ( int i = 1; i <= cols; i++) { result.put(rsmd.getColumnName(i), rs.getObject(i)); } return result; } }
?
調(diào)用語(yǔ)句:
list = (List<Map<String, Object>>) queryRunner.query(sql, new LinkMapListHandler(), params );
?
簡(jiǎn)單方便…
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
