jdbcTest.java
package test;
import java.sql.Connection;
import java.sql.SQLException;
import org.junit.Test;
import service.JdbcUtil;
import service.XmlUtil;
public class JdbcTest {
@Test
public void testConnection() throws SQLException
{
Connection conn = JdbcUtil.getConnection("SQLServer", "Test", "sa", "016051");
JdbcUtil.transformDataBase(conn);
XmlUtil.Database2Xml(JdbcUtil.getDataBase());
JdbcUtil.release(conn, null, null);
}
public static void main(String [] args) throws SQLException {
Connection conn = JdbcUtil.getConnection("SQLServer", "Test", "sa", "016051");
JdbcUtil.transformDataBase(conn);
XmlUtil.Database2Xml(JdbcUtil.getDataBase());
JdbcUtil.release(conn, null, null);
}
@Test
public void testXML2Database() throws SQLException{
Connection conn = JdbcUtil.getConnection("SQLServer", "sa", "016051");
JdbcUtil.createDatabase("H:\\Java\\JavaEE\\DBMSRecovery\\Backups\\20140716172255.xml", conn);
JdbcUtil.release(conn, null, null);
}
}
package main;
import java.io.File;
import java.sql.Connection;
import java.sql.SQLException;
import service.JdbcUtil;
import service.XmlUtil;
public class Main {
public static void main(String[] args) {
/*备份命令格式:
* Java –jar db.jar -dbType (SQLServer || mysql) -U (uesrName) -P (password) -dbName (dbname)
* 恢复命令格式:
* Java –jar db.jar -dbType (SQLServer || mysql) -U (uesrName) -P (password) -path (filepath)
* */
String dbType=null,uesrName=null,password=null, dbname=null,filepath=null;
//解析命令行参数
for (int i = 0; i < args.length; i=i+2) {
if (args[i].equals("-dbType")) {
dbType = args[i+1];
}
if (args[i].equals("-U")) {
uesrName = args[i+1];
}
if (args[i].equals("-P")) {
password = args[i+1];
}
if (args[i].equals("-path")) {
filepath = args[i+1];
}
if (args[i].equals("-dbName")) {
dbname = args[i+1];
}
}
if (dbname != null) {
Connection conn;
try {
conn = JdbcUtil.getConnection(dbType, dbname, uesrName,password );
JdbcUtil.transformDataBase(conn);
XmlUtil.Database2Xml(JdbcUtil.getDataBase());
JdbcUtil.release(conn, null, null);
} catch (SQLException e) {
System.out.println("数据库解析备份出现错误:"+e.toString());
return;
}
}else if (filepath != null) {
Connection conn;
try {
conn = JdbcUtil.getConnection(dbType, uesrName, password);
File file = new File(filepath);
if (!file.exists()) {
System.out.println("XML路径不存在,请重试");
return;
}
JdbcUtil.createDatabase(filepath, conn);
JdbcUtil.release(conn, null, null);
} catch (Exception e) {
System.out.println("数据库解析导入出现错误:"+e.toString());
return;
}
}
}
}