java调用kettle链接数据库操作

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;
    }
}






  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值