java—如何使用jdbc从配置单元表中获取结构数据?

2eafrhcq  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(305)

我正试图通过jfreechart可视化的javaswing应用程序使用jdbc从配置单元表中获取struct<>数据。在执行sql查询时,它抛出 SQLException 错误,它在我得到的地方抛出异常(rs.getstring(“user.name”))。请给我一个如何使用jdbc应用程序从配置单元表中获取结构数据的建议?

String s1 = jTextField1.getText();
    String s2 = jTextField2.getText();
    String s3 = jTextField4.getText();
    try
    {
        Class.forName("org.apache.hive.jdbc.HiveDriver");
        Connection con = DriverManager.getConnection("jdbc:hive2://localhost:10000/"+s1,"arunachalam","");
        Statement st = con.createStatement();
        String sql = "select user.name,user.followers_count c from "+s2+" order by c desc";
        ResultSet rs = st.executeQuery(sql);
        DefaultCategoryDataset dataset = new DefaultCategoryDataset( );
        while(rs.next())
        {
            String name = rs.getString("user.name");
            int count = rs.getInt("user.followers_count");
            dataset.setValue(count,name,name);
        }
        JFreeChart chart = ChartFactory.createBarChart("Followers Count", "Screen Name", "Users Follower Count", dataset, PlotOrientation.VERTICAL, false, true, false);
        CategoryPlot p = chart.getCategoryPlot();

        int width = 560;
        int height = 370;
        File bchart = new File( "Chart.jpeg" );
        ChartUtilities.saveChartAsJPEG( bchart , chart , width , height );
    }
    catch(Exception e)
    {
        showMessageDialog(null, e);
    }
7xzttuei

7xzttuei1#

而不是像这样使用

rs.getString("user.name");

改用这个

rs.getString(1);

您之前试图做的是用名称和表名一起引用列,而不是使用引用/列名,或者您可以按照它在select子句中的使用顺序来引用它。
您可以根据 SELECT 命令。希望这有帮助!

相关问题