• Coool
    2019-10-30
    用Java查询sql返回结果:
    package bw.jg.HelloMySql;

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;

    public class SelectInfo {

        public static void main(String[] args){
            try {
                /*
                 * 数据库连接
                 */
                String url = "jdbc:mysql://localhost:3306/test?characterEncoding=utf-8";
                final String user = "root";
                final String password = "";
                Class.forName("com.mysql.jdbc.Driver");
                Connection conn = DriverManager.getConnection(url, user, password);
                System.out.println("连接成功");
                
                
                Statement stmt=conn.createStatement();//创建一个Statement对象
                String sql="SELECT t.*,CASE CONCAT( a1.customer_type, a2.customer_type ) WHEN 10 THEN \'公对私交易\' WHEN 01 THEN \'私对公交易\' WHEN 11 THEN \'公对公交易\' WHEN 00 THEN \'私对私交易\' END AS trade_type FROM trade t LEFT JOIN account a1 ON t.account_id1 = a1.account_id LEFT JOIN account a2 ON t.account_id2 = a2.account_id";//生成一条sql语句
                ResultSet rs=stmt.executeQuery(sql);//执行查询,把查询结果赋值给结果集对象
                int id = 0;
                String account_id1 = null,account_id2 = null,trade_type=null;
                float amount = 0;
                System.out.println("id\t 转出账户\t\t\t 转入账户\t\t\t 金额 \t 交易类型");
                while(rs.next()) {
                    id=rs.getInt(1);
                    account_id1=rs.getString(2);
                    account_id2=rs.getString(3);
                    amount=rs.getFloat(4);
                    trade_type=rs.getString(5);
                    System.out.println(id+"\t"+account_id1+"\t"+account_id2+"\t"+amount+"\t"+trade_type+"\t");
                }
                System.out.println("获得查询结果集");
                conn.close();
                System.out.println("关闭数据库连接对象");
            } catch (Exception e) {
                // TODO Auto-generated catch block
                System.out.println("引擎失败");
                e.printStackTrace();
            }
        }
    }
    展开

    作者回复: 多谢分享

    
     1
  • Coool
    2019-10-28
    老师,能否讲一讲怎么用eclipse怎么连接MYSQL以及如何对表进行操作?
    
     1
  • mickey
    2019-09-25
    流程如下:
    表输入脚本:select t.*,a1.customer_type c1,a2.customer_type as c2 from trade t
    left join account a1 on t.account_id1=a1.account_id
    left join account a2 on t.account_id2=a2.account_id

    表输入 --> 对公? --> 企业JS代码 ---> 公对公? ---> 公对公JS代码 ---> 公对公常量--->文本输出
                         | |--------->公对私JS代码 ----> 公对私常量---|
                         | N |
                         | ------> 个人JS代码 ---> 公对公? ---> 私对公JS代码 ---> 私对公常量 ---|
                                                                      |---------> 私对私JS代码 ---> 私对私常量 ---|

    输出结果:
    account_id1;account_id2;amout;value
    322202020312335;622202020312337;200.0;【公对私】客户发送的交易
    622202020312337;322202020312335;400.0;【私对公】客户发送的交易
    622202020312336;322202020312337;300.0;【私对公】客户发送的交易
    322202020312335;322202020312336;100.0;【公对公】客户发送的交易
                           
    展开
    
     1
  • mickey
    2019-09-25
    SQL脚本里,刘备的账号有点问题:“622202020311237”改为“622202020312337”
    
     1
  • mickey
    2019-09-25
    很早以前我们做ETL用的是informatica的powercenter产品,每天从铁通省库拖地市库到本地服务器。
    
     1
  • 风轻扬
    2020-01-13
    老师,有没有专门讲kettle使用的书籍或者网站之类的。想系统学习一下kettle
    
    
  • Feng.X
    2019-09-25
    老师,请问“JavaScript 代码”控件里的代码有什么作用?似乎只要“增加常量”控件就可以了。

    作者回复: 首先Kettle中可以支持Java或者JavaScript代码。你可以使用JavaScript 来做一些复杂的运算。在使用时,经常会用来创建JavaScript变量,对前面数据流中的数据进行计算,它会自动在上游数据流中添加新的列,从而为下面的数据流提供使用

    
    
我们在线,来聊聊吧