Java程序中自动导入MYSQL数据库程序

   最近项目中需要需要一个功能,为了方便使用人员不用通过命令或者工具创建数据库。在这里只要知道MYSQL的基本命令就可以了。首先说说方案,在启动应用程序之前,就需要检查数据库中是否已经存在要配置的数据库名称,如果有则不添加新的数据库名称,如果没有,则需要通过连接创建数据库。然后通过命令中的mysql  -uroot -p123456 testjava < /tmp/testjava.sql.整体思路是比较简单的,下面看看代码实现。

  

public class CheckDatabaseAndImport {

	private String url = "jdbc:mysql://127.0.0.1:3306/testjava";
	private String user = "root";
	private String password = "123456";
	private static final Logger logger = Logger.getLogger(CheckDatabaseAndImport.class.getName());

	public void start() {
		try {
			Class.forName("com.mysql.jdbc.Driver");
			DriverManager.getConnection(url, user, password);
			logger.info("the database have exist");
		} catch (Exception e) {
			url = "jdbc:mysql://127.0.0.1:3306/test";
			try {
				Class.forName("com.mysql.jdbc.Driver");
				Connection conn = DriverManager.getConnection(url, user, password);
				Statement stat = conn.createStatement();
				// 创建数据库hello
				stat.executeUpdate("create database testjava");
				logger.info("creat database proudlink");
				stat.close();
				conn.close();
				String path = System.getProperty("user.dir") + "/webapps/JettyHost/WEB-INF/classes/config/testjava.sql";
				logger.info("path:" + path);
				String statement = "mysql  -uroot -p123456 proudlink_test<"+path;
				try {
					String[] comands = new String[] { "/bin/sh", "-c", statement };
					Runtime.getRuntime().exec(comands);
					logger.info("import database success");
				} catch (Exception e2) {
					logger.info("error", e2);
				}
			} catch (Exception e1) {
				logger.error("connect database test error",e1);
			}
		}

	}
}
上面就实现了在运行应用程序的时候导入数据库,如果已经存在则不需要导入。方便用户在终端设备比较多的情况下。谢谢!

猜你喜欢

转载自blog.csdn.net/yanchangyufan/article/details/77932760