Apache Commons:CLi的简单的使用(创建mysql的访问器)

Posted 你是小KS

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache Commons:CLi的简单的使用(创建mysql的访问器)相关的知识,希望对你有一定的参考价值。

1. 声明

当前内容主要为本人学习和了解Apache Commons Cli这个工具类(创建基于控制台的命令行)

当前内容主要参考:Apache Commons Cli的官方文档

主要内容为:

  1. 创建基于-u -p -h之类的命令输入来检验mysql是否可以连接

pom文件:(将lib和jar分离开来)

<dependencies>
	<dependency>
		<groupId>commons-cli</groupId>
		<artifactId>commons-cli</artifactId>
		<version>1.4</version>
	</dependency>
	<dependency>
		<groupId>mysql</groupId>
		<artifactId>mysql-connector-java</artifactId>
		<version>5.1.34</version>
	</dependency>
</dependencies>
<build>
	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-jar-plugin</artifactId>
			<version>2.6</version>
			<configuration>
				<archive>
					<manifest>
						<addClasspath>true</addClasspath>
						<classpathPrefix>lib/</classpathPrefix>
						<mainClass>com.hy.apache.commons.test.cli.MySQLConnectionCliTest</mainClass>
					</manifest>
				</archive>
			</configuration>
		</plugin>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-dependency-plugin</artifactId>
			<version>2.10</version>
			<executions>
				<execution>
					<id>copy-dependencies</id>
					<phase>package</phase>
					<goals>
						<goal>copy-dependencies</goal>
					</goals>
					<configuration>
						<outputDirectory>${project.build.directory}/lib</outputDirectory>
					</configuration>
				</execution>
			</executions>
		</plugin>
	</plugins>

</build>

2. 基本demo


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.DefaultParser;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;

/**
 * 
 * @author hy
 * @createTime 2021-06-19 07:47:39
 * @description 当前内容主要为测试当前的apache commons这个工具类
 *
 */
public class MySQLConnectionCliTest {

	// 一个简单的jdbc连接操作器,命令行版本的,采用
	// -h 表示连接的ip地址
	// -u 表示用户名
	// -pw 表示密码
	// -p 表示端口
	// -db 表示访问的数据库
	public static void main(String[] args) throws ParseException {
		Options options = new Options();
		// 添加访问mysql需要的各种命令操作
		options.addOption("h", true, "mysql的所在ip地址");
		options.addOption("u", true, "mysql的登录用户名");
		options.addOption("p", true, "mysql的登录密码");
		options.addOption("pw", true, "mysql所在的端口");
		options.addOption("db", true, "mysql所在的端口");

		// 创建命令行解析器
		CommandLineParser parser = new DefaultParser();
		CommandLine commandLine = parser.parse(options, args);
		if (!commandLine.hasOption("h")) {
			System.out.println("必须要要有-h参数来设置访问mysql的ip!");
			return;
		}
		if (!commandLine.hasOption("u")) {
			System.out.println("必须要要有-u参数来设置访问mysql的登录用户名!");
			return;
		}
		if (!commandLine.hasOption("p")) {
			System.out.println("必须要要有-p参数来设置访问mysql的登录用户名登录密码!");
			return;
		}
		if (!commandLine.hasOption("pw")) {
			System.out.println("必须要要有-pw参数来设置访问mysql的访问端口!");
			return;
		}
		if (!commandLine.hasOption("db")) {
			System.out.println("必须要要有-pw参数来设置访问mysql的数据库!");
			return;
		}
		// 加载驱动
		try {
			Class.forName("com.mysql.jdbc.Driver");
			String host = commandLine.getOptionValue("h");
			String port = commandLine.getOptionValue("p");
			String username = commandLine.getOptionValue("u");
			String password = commandLine.getOptionValue("pw");
			String dbName = commandLine.getOptionValue("db");
			String url = "jdbc:mysql://" + host + ":" + port + "/" + dbName;
			Connection conn = null;
			try {
				conn = DriverManager.getConnection(url, username, password);
				System.out.println("打开mysql连接成功!");
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} finally {
				if (conn != null) {
					try {
						conn.close();
					} catch (SQLException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
			}
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

3. 开始打包测试(eclipse)

选择项目,然后右键
在这里插入图片描述
打包后:
在这里插入图片描述
此时将lib这个库复制出来,然后将这个打好的jar包一起复制出来,开始执行

4. 执行结果

jar执行结果
在这里插入图片描述
不使用maven打包(即去掉上面的build部分),此时选中需要运行的main方法开始配置运行参数

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
测试同样成功

以上是关于Apache Commons:CLi的简单的使用(创建mysql的访问器)的主要内容,如果未能解决你的问题,请参考以下文章

Apache Commons CLI 中的 DefaultParser

Apache Commons CLI:获取选项的值列表

Apache Commons CLI

Apache Commons CLI 开发命令行工具示例

Apache Commons CLI 开发工具(CommandLineParserPosixParser)

Apache Commons CLI - 选项类型和默认值