tmp/src/step7/TransferTableTest.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);
}
}
}