wang-hao-jie
2022-08-25 57dcc73636bb7d8dce89c808eb8cc988a7512264
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
package com.ruoyi;
 
import java.sql.*;
 
public class DbController {
 
    public static void main(String[] args){
        //test();
        executeQuery("select * from events");
    }
 
    public static String executeQuery(String sql) {
        String jsonArray = "{";
        StringBuilder jsonObject = new StringBuilder();
        Connection con = null;
        Statement stmt = null;
        ResultSet rst = null;
        try {
            //注册数据提供程序
            Class.forName("org.objectweb.rmijdbc.Driver").newInstance();
            //accessDatabase为远程服务器数据源名称
//            String url = "jdbc:rmi://10.23.16.83/jdbc:odbc:accessDatabase";
            //生产地址
            String url = "jdbc:rmi://192.168.141.104:9000/jdbc:odbc:EventData";
//            String url = "jdbc:rmi://10.23.71.211/jdbc:odbc:demo";
            //建立连接
            con = DriverManager.getConnection(url, "", "");
            stmt = con.createStatement();
            rst = stmt.executeQuery(sql);
            if (rst != null) {
                while (rst.next()) {
                    String id = rst.getInt("id") + "";
                    String name = new String(rst.getBytes("title"), "gbk");
                    String time = rst.getDate("adate").toString();
                    String filePath = rst.getString("url");
                    jsonObject.append("{\"ID\":\"" + id + "\", \"NAME\":\"" + name + "\", \"FILE_PATH\":\"" + filePath + "\", \"TIME\":\"" + time + "\"}, ");
                }
                String temp = jsonObject.toString();
                temp = temp.substring(0, temp.length() - 2);
                jsonArray += "\"IS_EMPTY\":\"N\",LIST:[" + temp + "]}";
            } else {
                jsonArray += "\"IS_EMPTY\":\"Y\"}";
            }
        } catch (Exception e) {
            System.out.println("===========executeQuery start=============" + e.getMessage());
        } finally {
            try {
                con.close();
                stmt.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        return jsonArray;
    }
 
    public static void test() {
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            String url = "jdbc:odbc:EventData";//databaseName就是刚刚添加的数据源名称
            Connection con = DriverManager.getConnection(url, "", "");//没有用户名和密码的时候直接为空
            Statement sta = con.createStatement();
            ResultSet rst = sta.executeQuery("select * from events");//demoTable为access数据库中的一个表名
            if(rst.next()){
                System.out.println(rst.getString("name"));
                //解决乱码问题
//                System.out.println(new String(rst.getBytes("name"), "gbk"));
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } /*catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }*/
 
    }
 
}