You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
133 lines
3.8 KiB
Java
133 lines
3.8 KiB
Java
1 year ago
|
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<RecordSet> thread = ThreadLocal.withInitial(()->new RecordSet());
|
||
|
|
||
|
|
||
|
public static List<Map<String,String>> getSqlToList(String sql,Object...value){
|
||
|
RecordSet rs = thread.get();
|
||
|
|
||
|
List<Map<String,String>> result = new ArrayList<>();
|
||
|
if (value == null || value.length <=0 || "".equals(value)){
|
||
|
rs.executeQuery(sql);
|
||
|
}else {
|
||
|
rs.executeQuery(sql,value);
|
||
|
}
|
||
|
while (rs.next()){
|
||
|
Map<String,String> 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<Map<String,Object>> getSqlToListKeySmallLetter(String sql,Object...value){
|
||
|
RecordSet rs = thread.get();
|
||
|
|
||
|
List<Map<String,Object>> result = new ArrayList<>();
|
||
|
if (value == null || value.length <=0 || "".equals(value)){
|
||
|
rs.executeQuery(sql);
|
||
|
}else {
|
||
|
rs.executeQuery(sql,value);
|
||
|
}
|
||
|
while (rs.next()){
|
||
|
Map<String,Object> 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<String,String> getSqlToMap(String sql,Object...value){
|
||
|
RecordSet rs = thread.get();
|
||
|
Map<String,String> 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<String,Object> getSqlToMapList(String sql,Object...value){
|
||
|
RecordSet rs = thread.get();
|
||
|
Map<String,Object> 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<List> dataList){
|
||
|
RecordSet rs = thread.get();
|
||
|
return rs.executeBatchSql(sql,dataList);
|
||
|
}
|
||
|
|
||
|
}
|