|
@@ -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();
|
|
|
+ }
|
|
|
+
|
|
|
+}
|