Index: ssts-web/src/main/webapp/buttjoint/dataQueryAsistant.jsp =================================================================== diff -u --- ssts-web/src/main/webapp/buttjoint/dataQueryAsistant.jsp (revision 0) +++ ssts-web/src/main/webapp/buttjoint/dataQueryAsistant.jsp (revision 19725) @@ -0,0 +1,184 @@ +<%@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"); + +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 = cellDataObject == null ? "NULL" : String.valueOf(cellDataObject); + %> + + <% + } + %> + + <% + } + } +%> +
 <%=key %>
<%=++i %><%=cellDataShow %>
+
+<% +} +%> +
+
+ +