package com.engine.jucailin.util; import com.google.common.collect.Maps; import weaver.conn.RecordSet; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class DbTools { private static ThreadLocal thread = ThreadLocal.withInitial(()->new RecordSet()); public static List> getSqlToList(String sql,Object...value){ RecordSet rs = thread.get(); List> result = new ArrayList<>(); if (value == null || value.length <=0 || "".equals(value)){ rs.executeQuery(sql); }else { rs.executeQuery(sql,value); } while (rs.next()){ Map dataMap = new HashMap<>(); String[] columns = rs.getColumnName(); for (String column:columns){ dataMap.put(column,rs.getString(column)); } result.add(dataMap); } return result; } public static List> getSqlToListKeySmallLetter(String sql,Object...value){ RecordSet rs = thread.get(); List> result = new ArrayList<>(); if (value == null || value.length <=0 || "".equals(value)){ rs.executeQuery(sql); }else { rs.executeQuery(sql,value); } while (rs.next()){ Map dataMap = new HashMap<>(); String[] columns = rs.getColumnName(); for (String column:columns){ dataMap.put(column.toLowerCase(),rs.getString(column)); } result.add(dataMap); } return result; } public static Map getSqlToMap(String sql,Object...value){ RecordSet rs = thread.get(); Map result = Maps.newHashMap(); if (value == null || value.length <=0 || "".equals(value)){ rs.executeQuery(sql); }else { rs.executeQuery(sql,value); } if (rs.next()){ String[] columns = rs.getColumnName(); for (String column:columns){ result.put(column.toLowerCase(),rs.getString(column)); } } return result; } public static Map getSqlToMapList(String sql,Object...value){ RecordSet rs = thread.get(); Map result = Maps.newHashMap(); if (value == null || value.length <=0 || "".equals(value)){ rs.executeQuery(sql); }else { rs.executeQuery(sql,value); } while (rs.next()){ result.put(rs.getString("id"),rs.getString("name")); } return result; } public static boolean update(String sql,Object...value){ RecordSet rs = thread.get(); if (value == null || value.length <=0 || "".equals(value)){ return rs.executeUpdate(sql); }else { return rs.executeUpdate(sql,value); } } public static boolean update(RecordSet rs,String sql,Object...value){ if (value == null || value.length <=0 || "".equals(value)){ return rs.executeUpdate(sql); }else { return rs.executeUpdate(sql,value); } } /** * 获取sql语句 * @param sql * @param value * @return */ public static String getSql(String sql,Object...value){ RecordSet rs = thread.get(); rs.executeQuery(sql,value); String sentenceSql = ""; if (rs.next()){ sentenceSql = rs.getString("sentence"); } return sentenceSql; } public static boolean updateBatch(String sql,List dataList){ RecordSet rs = thread.get(); return rs.executeBatchSql(sql,dataList); } }