Prechádzať zdrojové kódy

1、读取病案首页数据从Oracle

louhr 5 rokov pred
rodič
commit
2f336ffd2d

+ 104 - 0
kernel/src/test/java/com/lantone/qc/kernel/DataTest.java

@@ -0,0 +1,104 @@
+package com.lantone.qc.kernel;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONException;
+import com.alibaba.fastjson.JSONObject;
+import com.lantone.qc.pub.util.PropertiesUtil;
+
+import java.sql.*;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+
+/**
+ * @ClassName : DataTest
+ * @Description :
+ * @Author : 楼辉荣
+ * @Date: 2020-04-01 20:06
+ */
+public class DataTest {
+    public static void main(String[] args ) {
+        loadHomePage();
+    }
+
+    private static void loadHomePage() {
+        Connection conn = null;
+        Statement stmt = null;
+        ResultSet rs = null;
+        try {
+            PropertiesUtil propertiesUtil = new PropertiesUtil("kernel.properties");
+            Class.forName(propertiesUtil.getProperty("oracle.test.driver"));
+
+            Properties props = new Properties();
+            String url = propertiesUtil.getProperty("oracle.test.url");
+            // 127.0.0.1是本机地址,1521是Oracle默认连接端口,DATABASE_NAME为实例名(SID)
+            String user = propertiesUtil.getProperty("oracle.test.user");// 用户系统默认的账户名
+            String password = propertiesUtil.getProperty("oracle.test.password");// 你安装时选设置的密码
+            props.put("user", user);
+            props.put("password", password);
+            props.put("defaultRowPrefetch", "15");
+            props.put("remarksReporting", "true");
+            //默认情况下不允许用dba身份连接数据库,通过property设置以实现dba连接
+            conn = DriverManager.getConnection(url, props);
+            System.out.println("connection succeed!");
+            stmt = conn.createStatement();
+
+            DatabaseMetaData dmd = conn.getMetaData();
+            ResultSet dmdRs = dmd.getColumns(null, null, "BR_RECHOME", null);
+
+            Map<String, String> colMap = new HashMap<>();
+            while(dmdRs.next()){
+                colMap.put(dmdRs.getString(4), dmdRs.getString("REMARKS"));
+            }
+            dmdRs.close();
+
+            rs = stmt.executeQuery("select * from br_rechome");
+            String js = resultSetToJson(rs, colMap);
+            System.out.println(js);
+
+        } catch (SQLException ex) {
+            ex.printStackTrace();
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            try {
+                if (rs != null) {
+                    rs.close();
+                    rs = null;
+                }
+                if (stmt != null) {
+                    stmt.close();
+                    stmt = null;
+                }
+                if (conn != null) {
+                    conn.close();
+                    conn = null;
+                }
+            } catch (SQLException e) {
+                e.printStackTrace();
+            }
+        }
+    }
+
+    public static String resultSetToJson(ResultSet rs, Map<String, String> map) throws SQLException, JSONException {
+        // json数组
+        JSONArray array = new JSONArray();
+        // 获取列数
+        ResultSetMetaData metaData = (ResultSetMetaData) rs.getMetaData();
+        int columnCount = metaData.getColumnCount();
+        // 遍历ResultSet中的每条数据
+        while (rs.next()) {
+            JSONObject jsonObj = new JSONObject();
+            // 遍历每一列
+            for (int i = 1; i <= columnCount; i++) {
+                String columnName = metaData.getColumnLabel(i);
+                String value = rs.getString(columnName) == null ? "" : rs.getString(columnName);
+                jsonObj.put(map.get(columnName), value);
+            }
+            array.add(jsonObj);
+        }
+
+        return array.toString();
+    }
+
+}