首页 > 数据库 >Java项目生成电脑桌面快捷脚本(Mysql数据)

Java项目生成电脑桌面快捷脚本(Mysql数据)

时间:2023-01-12 18:23:00浏览次数:62  
标签:Java String rs Mysql jar 电脑桌面 mysql static name

一、场景说明

在项目中,可能有些同事需要查询线上数据库的数据,但又不能泄露密码给他们,手写一个程序方便他们查询。

二、Java代码

需要引入mysql驱动包:downloads.mysql.com

// mysql8.0以上版本com.mysql.jdbc.Driver 更换为 com.mysql.cj.jdbc.Driver
private static final String driver = "com.mysql.jdbc.Driver"; 
private static final String con_url = "jdbc:mysql://localhost:3306/test?useUnicode=true&useSSL=false&characterEncoding=utf8";
private static final String user_name = "root";
private static final String user_passward = "forlan";

// 驱动只需要加载一次,所以放在静态代码块里面
static {
	try {
		Class.forName(driver);
	} catch (ClassNotFoundException e) {
		e.printStackTrace();
	}
}

public static void main(String[] args) {
	ResultSet rs = null;
	try (Connection connection = DriverManager.getConnection(con_url, user_name, user_passward);
		 Statement stmt = connection.createStatement(); Scanner sc = new Scanner(System.in)) {
		while (true) {
			System.out.println("请输入要执行的sql:");
			String sql = sc.nextLine();
			StringBuilder sb = new StringBuilder();
			rs = stmt.executeQuery(sql);
			ResultSetMetaData metaData = rs.getMetaData();
			while (rs.next()) {
				for (int i = 0; i < metaData.getColumnCount(); i++) {
					String col_name = metaData.getColumnName(i + 1);// 获取列名
					sb.append(col_name).append("=").append(rs.getObject(col_name)).append(";");
				}
				sb.append("\n");
			}
			System.out.println(sb.toString());
		}
	} catch (Exception e) {
		System.out.println("执行失败,请联系管理员处理");
		e.printStackTrace();
	}finally {
		try {
			rs.close();
		} catch (SQLException throwables) {
			throwables.printStackTrace();
		}
	}
}

三、生成jar包

参考博客 三、生成jar包

注意:这里需要对jar包进行反编译处理

四、桌面启动脚本

编写“查询Sql.bat”文件

java -jar selectSql.jar
pause

五、测试

数据库表数据如下

mysql> Select * FROM forlan_class;
+----+------------+
| id | class_name |
+----+------------+
|  1 | 初级班     |
|  2 | 中级班     |
|  3 | 高级班     |
|  4 | 大师班     |
|  5 | 成神班     |
|  6 | 神仙班     |
+----+------------+

双击设置.bat,输入我们要查询的sql,返回结果
在这里插入图片描述

标签:Java,String,rs,Mysql,jar,电脑桌面,mysql,static,name
From: https://www.cnblogs.com/huozhonghun/p/17047584.html

相关文章

  • mysql唯一索引的作用
    mysql唯一索引的作用1、在数据库表结构中对字段添加唯一索引后,进行数据库进行存储操作时数据库会判断库中是否已经存在此数据,不存在此数据时才能进行插入操作。2、索引列......
  • 【校招VIP】“推推”Java项目课程:开发文档-榜单小说在更新时间前后的访问压力
    今天接着来看商业实战项目推推的第一个模块——小说详情模块的开发文档设计。我们上节课看了产品经理给出来的产品功能要求以及一些关键的重难点。这个也是能力提升的一部......
  • MySQL 分组后查询每组最新的一条数据,并查出每组的总数
    SELECT*FROM(select*frompf_module_worktleftjoinpf_module_work_historyhonh.work_id=t.work_idWHEREh.idIN......
  • Java数组
    数组数组概述相同数据类型的数据有序集合描述相同类型的若干个数据,按照一定的先后次序排列组合一起数组里的每一个数据称作一个数组元素,每个数组元素可以通......
  • mysql日期函数(转)
    MySQL中的常用日期函数:函数描述NOW() 返回当前的日期和时间CURDATE() 返回当前的日期CURTIME() 返回当前的时间DATE() 提取日期或日期/时间表达式的日期部分EXTRACT() ......
  • Tapdata Cloud 场景通关系列: Oracle → MySQL 异构实时同步
    【前言】作为中国的“Fivetran/Airbyte”,TapdataCloud自去年发布云版公测以来,吸引了近万名用户的注册使用。应社区用户上生产系统的要求,TapdataCloud3.0将正式推......
  • Java.day.01
    Markdown学习标题三级标题四级标题五级标题六级标题字体Hello,World!Hello,World!Hello,World!Hello,World!引用选择狂神说Java,走向人生巅峰分割线图片......
  • java 定时器的使用
    importjava.io.BufferedReader;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.IOException;importjava.io.InputStreamReader;import......
  • java的网络知识
    本文主要讲述java的网络知识,以及网络编程所需要使用的类。一.InetAdress类InetAddress类,用于获取主机名和IP地址【域名】publicclassInetAddressTest{public......
  • 排查+解决 Java 内存泄漏,最基本的方法,你必须学会!
    来源:zhenbianshu.github.io/前些日子小组内安排值班,轮流看顾我们的服务,主要做一些报警邮件处理、Bug排查、运营issue处理的事。工作日还好,无论干什么都要上班的,若是轮......