<%@page import="com.forgon.disinfectsystem.datasynchronization.model.CommonVo"%> <%@page import="sun.misc.BASE64Decoder"%> <%@page import="org.w3c.tools.codec.Base64Decoder"%> <%@page import="org.apache.commons.collections4.CollectionUtils"%> <%@page import="java.util.HashMap"%> <%@page import="java.util.Map"%> <%@page import="java.util.List"%> <%@page import="java.util.ArrayList"%> <%@page import="java.sql.ResultSetMetaData"%> <%@page import="java.sql.Connection"%> <%@page import="java.sql.DriverManager"%> <%@page import="org.apache.commons.lang3.StringUtils"%> <%@page import="com.forgon.disinfectsystem.common.CssdUtils"%> <%@page import="java.sql.ResultSet"%> <%@page import="java.sql.Statement"%> <%@ page contentType="text/html; charset=UTF-8" %> <% //数据库访问的配置 String driver = request.getParameter("driver"); String url = request.getParameter("url"); String username = request.getParameter("username"); String password = request.getParameter("password"); String sql = request.getParameter("sql"); String isNeedTranscoding = request.getParameter("isNeedTranscoding"); driver = driver == null ? "" : driver.trim(); url = url == null ? "" : url.trim(); username = username == null ? "" : username.trim(); password = password == null ? "" : password.trim(); sql = sql == null ? "" : sql.trim(); String message = ""; try{ if(StringUtils.isBlank(driver) && StringUtils.isBlank(url) && StringUtils.isBlank(username) && StringUtils.isBlank(password) && StringUtils.isBlank(sql)){ driver = CssdUtils.getConfigProperty("jdbc.driverClassName"); url = CssdUtils.getConfigProperty("jdbc.url"); username = new String(new BASE64Decoder().decodeBuffer(CssdUtils.getConfigProperty("jdbc.username"))); password = new String(new BASE64Decoder().decodeBuffer(CssdUtils.getConfigProperty("jdbc.password"))); }else{ if(StringUtils.isBlank(driver)){ message += "driver is null"; } if(StringUtils.isBlank(url)){ message += "url is null"; } if(StringUtils.isBlank(username)){ message += "username is null"; } if(StringUtils.isBlank(password)){ message += "password is null"; } if(StringUtils.isBlank(sql)){ message += "sql is null"; } } }catch(Exception e){ message = e.getMessage(); e.printStackTrace(); } //读取数据 Connection con = null; Statement sta = null; ResultSet rs = null; ResultSetMetaData rsmd = null; Map columnHeadMap = new HashMap(); List> result = new ArrayList>(); try{ if(StringUtils.isBlank(message) && StringUtils.isNotBlank(sql)){ Class.forName(driver); con = DriverManager.getConnection(url, username, password); sta = con.createStatement(); rs = sta.executeQuery(sql); rsmd = rs.getMetaData(); int columnCount = rsmd.getColumnCount(); for(int i = 1;i <= columnCount;i++){ columnHeadMap.put(rsmd.getColumnName(i), rsmd.getColumnClassName(i)); } Map columnDataMap = null; while(rs.next()){ columnDataMap = new HashMap(); for(String key : columnHeadMap.keySet()){ columnDataMap.put(key, rs.getObject(key)); } result.add(columnDataMap); } } }catch(Exception e){ message = e.getMessage(); e.printStackTrace(); }finally{ if(rs != null) rs.close(); if(sta != null) sta.close(); if(con != null) con.close(); } %> 万能数据查询工具
<%=message %>
<% if(columnHeadMap != null && CollectionUtils.isNotEmpty(columnHeadMap.keySet())){ %>
结果显示(<%=result == null ? 0 : result.size() %>条):
<% for(String key : columnHeadMap.keySet()){ %> <% } %> <% if(result != null && CollectionUtils.isNotEmpty(result)){ int i = 0; for(Map dataMap : result){ String color = i % 2 == 0 ? "#EEE;" : "#FFF;"; %> <% for(String key : dataMap.keySet()){ Object cellDataObject = dataMap.get(key); String cellDataShow = "NULL"; //是否需要转码 if(cellDataObject != null){ if(cellDataObject instanceof String && StringUtils.equals("1", isNeedTranscoding)){ cellDataShow = new String(String.valueOf(cellDataObject).getBytes(CommonVo.CHARSET_ISO) , CommonVo.CHARSET_GBK); }else{ cellDataShow = String.valueOf(cellDataObject); } } %> <% } %> <% } } %>
 <%=key %>
<%=++i %><%=cellDataShow %>
<% } %>