64 lines
2.2 KiB
Java
64 lines
2.2 KiB
Java
package step7;
|
|
|
|
import java.sql.Connection;
|
|
import java.sql.DriverManager;
|
|
import java.sql.ResultSet;
|
|
import java.sql.SQLException;
|
|
import java.sql.Statement;
|
|
import java.util.Scanner;
|
|
import java.io.*;
|
|
import org.apache.tools.ant.*;
|
|
import org.apache.tools.ant.taskdefs.*;
|
|
import org.apache.tools.ant.types.*;
|
|
|
|
public class TransferTableTest {
|
|
public static void main(String args[]) throws SQLException {
|
|
TransferTable transferTable = new TransferTable();
|
|
|
|
//原始的表名
|
|
String tableName = "book";
|
|
//转换后的表名
|
|
String transferTableName = "transformedBook";
|
|
|
|
//获取初始化的sql脚本
|
|
String sqlFile=System.getProperty("user.dir")+File.separator+"challenge7.sql";
|
|
SQLExec sqlExec = new SQLExec();
|
|
//设置数据库参数
|
|
sqlExec.setDriver(transferTable.JDBC_DRIVER);
|
|
sqlExec.setUrl("jdbc:mysql://localhost/");
|
|
sqlExec.setUserid(transferTable.USER);
|
|
sqlExec.setPassword(transferTable.PASS);
|
|
|
|
|
|
try
|
|
{
|
|
//要执行的脚本
|
|
sqlExec.setSrc(new File(sqlFile));
|
|
sqlExec.setProject(new Project()); // 要指定这个属性,不然会出错
|
|
sqlExec.execute();
|
|
}catch (Exception e) {
|
|
// TODO: handle exception
|
|
e.printStackTrace();
|
|
}
|
|
|
|
|
|
|
|
Connection connection = transferTable.getConnection(transferTable.JDBC_DRIVER, transferTable.DB_URL, transferTable.USER, transferTable.PASS);
|
|
|
|
transferTable.transferTable(connection, tableName);
|
|
|
|
//查询数据库中转换后的表,输出其内容以判断操作转换操作是否正确
|
|
ResultSet resultSet = transferTable.queryDB(connection, transferTableName);
|
|
|
|
while(resultSet.next())
|
|
{
|
|
String id = resultSet.getString("id");
|
|
String columnName = resultSet.getString("columnName");
|
|
String value = resultSet.getString("value");
|
|
//注意这里每行后有换行,即最后一行后有换行。
|
|
System.out.println(id + " " + columnName + " " + value);
|
|
}
|
|
|
|
}
|
|
}
|