public List<String> getConfig(KettleResource resourcein,String customSql) throws KettleDatabaseException, SQLException{
String[] databasesXML = {
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
"<connection>" +
"<name>"+resourcein.getrName()+"</name>" +
"<server>"+resourcein.getrServer()+"</server>" +
"<type>"+resourcein.getrType()+"</type>" +
"<access>"+resourcein.getrAccess()+"</access>" +
"<database>"+resourcein.getrDatabase()+"</database>" +
"<port>"+resourcein.getrPort()+"</port>" +
"<username>"+resourcein.getrUsername()+"</username>" +
"<password>"+resourcein.getrPassword()+"</password>" +
"</connection>"
};
DatabaseMeta databaseMeta = null;
try {
databaseMeta = new DatabaseMeta(databasesXML[0]);
} catch (KettleXMLException e) {
e.printStackTrace();
}
Database database = null;
database = new Database(null,databaseMeta);
database.connect();
// String sql = null;
// /**Mysql的方式*/
// if(resourcein.getrType().toUpperCase().equals("MYSQL")){
// sql="SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = \""+resourcein.getrDatabase()+"\" ";
// }
ResultSet resultSet;
resultSet = database.openQuery(customSql);
List<String> list = new ArrayList<String>();
while(resultSet.next()){
String a = resultSet.getString("TABLE_NAME");
// System.out.println("表名"+a);
list.add(a);
}
return list;
}
下面为参数1的属性代码
public class KettleResource implements Serializable {
@Id
private Integer id;
/**
* 资源库描述
*/
@Column(name = "r_name")
private String rName;
/**
* 主机地址
*/
@Column(name = "r_server")
private String rServer;
/**
* 数据库类型
*/
@Column(name = "r_type")
private String rType;
/**
* 连接方式
*/
@Column(name = "r_access")
private String rAccess;
/**
* 数据库名
*/
@Column(name = "r_database")
private String rDatabase;
/**
* 端口号
*/
@Column(name = "r_port")
private Integer rPort;
/**
* 用户名
*/
@Column(name = "r_username")
private String rUsername;
/**
* 密码
*/
@Column(name = "r_password")
private String rPassword;
private static final long serialVersionUID = 1L;
/**
* @return id
*/
public Integer getId() {
return id;
}
/**
* @param id
*/
public void setId(Integer id) {
this.id = id;
}
/**
* 获取资源库描述
*
* @return r_name - 资源库描述
*/
public String getrName() {
return rName;
}
/**
* 设置资源库描述
*
* @param rName 资源库描述
*/
public void setrName(String rName) {
this.rName = rName;
}
/**
* 获取主机地址
*
* @return r_server - 主机地址
*/
public String getrServer() {
return rServer;
}
/**
* 设置主机地址
*
* @param rServer 主机地址
*/
public void setrServer(String rServer) {
this.rServer = rServer;
}
/**
* 获取数据库类型
*
* @return r_type - 数据库类型
*/
public String getrType() {
return rType;
}
/**
* 设置数据库类型
*
* @param rType 数据库类型
*/
public void setrType(String rType) {
this.rType = rType;
}
/**
* 获取连接方式
*
* @return r_access - 连接方式
*/
public String getrAccess() {
return rAccess;
}
/**
* 设置连接方式
*
* @param rAccess 连接方式
*/
public void setrAccess(String rAccess) {
this.rAccess = rAccess;
}
/**
* 获取数据库名
*
* @return r_database - 数据库名
*/
public String getrDatabase() {
return rDatabase;
}
/**
* 设置数据库名
*
* @param rDatabase 数据库名
*/
public void setrDatabase(String rDatabase) {
this.rDatabase = rDatabase;
}
/**
* 获取端口号
*
* @return r_port - 端口号
*/
public Integer getrPort() {
return rPort;
}
/**
* 设置端口号
*
* @param rPort 端口号
*/
public void setrPort(Integer rPort) {
this.rPort = rPort;
}
/**
* 获取用户名
*
* @return r_username - 用户名
*/
public String getrUsername() {
return rUsername;
}
/**
* 设置用户名
*
* @param rUsername 用户名
*/
public void setrUsername(String rUsername) {
this.rUsername = rUsername;
}
/**
* 获取密码
*
* @return r_password - 密码
*/
public String getrPassword() {
return rPassword;
}
/**
* 设置密码
*
* @param rPassword 密码
*/
public void setrPassword(String rPassword) {
this.rPassword = rPassword;
}
}