【Oracle工具】加入了代码格式化,多表输入,语句对齐等功能

功能上进行了修改。用的是JFrame控件,自动格式化SQL并且自动复制到Windows剪切板。

需要Java环境运行。加入了代码格式化,多表输入,语句对齐等功能。

通过jdbc连接oracle数据库,通过hashmap封装键值对,再用阿里fastjson进行封装成json,再解析json为数组,最后解析对象到具体的对象中。

最后利用正则匹配出对应的连接串。

	public String InputTableName(String tablename,String connect) {
		result = "";

		// 创建OperateOracle对象
		OperateOracle oo = new OperateOracle();
		// oo.getConnection();
		Pattern pattern = Pattern.compile("(.*)/(.*)(@.*)");
		Matcher matcher = pattern.matcher(connect);
		try {
			if (matcher.find()) {
				matcher.reset();
				while (matcher.find()) {
					oo.setUSERNAMR(matcher.group(1));
					oo.setPASSWORD(matcher.group(2));
					oo.setURL("jdbc:oracle:thin:"+matcher.group(3));

					
				}
			}
		} catch (Exception e) {
			System.out.println("解析连接信息失败");
			e.printStackTrace();
		}
		json = oo.SelectData("  SELECT tc.COLUMN_ID,\r\n" + "        tc.COLUMN_NAME,\r\n" + "        tc.DATA_TYPE,\r\n"
				+ "        tc.DATA_LENGTH,\r\n" + "        cc.COMMENTS,\r\n" + "        t.MAXLEN\r\n"
				+ "   FROM user_tab_columns tc,\r\n" + "        user_col_comments cc,\r\n"
				+ "        (select max(length(tc.COLUMN_NAME)) MAXLEN\r\n" + "           FROM user_tab_columns tc\r\n"
				+ "          where tc.table_name = UPPER(\'" + tablename + "\')) t\r\n"
				+ "  WHERE tc.table_name = cc.table_name\r\n" + "    AND tc.column_name = cc.column_name\r\n"
				+ "    AND tc.table_name = UPPER(\'" + tablename + "\')\r\n" + "  ORDER BY tc.COLUMN_ID ASC");
		// System.out.print(select);
		result = result + select;
		// System.out.println(json);
		JSONArray jsonArray = JSON.parseArray(json);
		// JSONArray jsonArray1 =
		// JSONArray.parseArray(JSON_ARRAY_STR);//因为JSONArray继承了JSON,所以这样也是可以的

		// 遍历方式1
		int size = jsonArray.size();
		System.out.println("查询总列数:" + size);
		for (int i = 0; i < size; i++) {
			JSONObject jsonObject = jsonArray.getJSONObject(i);
			// System.out.println(jsonObject.getString("COLUMN_NAME") + ":" +
			// jsonObject.getString("COMMENTS"));

			result = result + ResultOutput(i + 1, jsonObject.getString("COLUMN_NAME"), jsonObject.getString("COMMENTS"),
					jsonObject.getInteger("MAXLEN"), size + 1);

		}

		return result + "FROM  " + tablename + ";" + "\r\n\r\n";
	}

2018-11-18_223318.png

2018-11-30_223324.png

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.5.2 Zero

粤ICP备18035038号