Java 如何通过jdbc将数据插入配置单元表?

Java 如何通过jdbc将数据插入配置单元表?,java,jdbc,hive,Java,Jdbc,Hive,我曾尝试使用jdbc在配置单元中操作数据。当我使用select或create操作时,一切正常。但当我尝试使用insert向表中添加一些行时,如: String sql = "insert into agg_test_20170508 values (20170508, 100)"; Class.forName(JDBC_Driver); connection = DriverManager.getConnection(JDBC_String, ID, pwd); Statement stmt =

我曾尝试使用jdbc在配置单元中操作数据。当我使用select或create操作时,一切正常。但当我尝试使用insert向表中添加一些行时,如:

String sql = "insert into agg_test_20170508 values (20170508, 100)";
Class.forName(JDBC_Driver);
connection = DriverManager.getConnection(JDBC_String, ID, pwd);
Statement stmt = connection.createStatement();
System.out.println(D_FORMAT.format(new Date()) + " Running:\r\n" + sql);
ResultSet res = stmt.executeQuery(sql);
System.out.println(D_FORMAT.format(new Date()) + " QUERY COMPELET.");
但过了很长一段时间,什么也没有回来。使用jdbc连接到配置单元时有任何限制吗


我公司的hadoop版本是0.20.2

您必须将
executeUpdate
与INSERT UPDATE DELETE一起使用:

int res = stmt.executeUpdate(sql);
int executeUpdate(字符串sql):执行INSERT、UPDATE或DELETE语句并返回一个更新帐户,该帐户指示 受影响的行(例如,插入1行,或更新2行,或0行 受影响的)

ResultSet executeQuery(字符串sql):执行SELECT语句并返回一个ResultSet对象,其中包含 询问


您必须将
executeUpdate
与INSERT UPDATE DELETE一起使用:

int res = stmt.executeUpdate(sql);
int executeUpdate(字符串sql):执行INSERT、UPDATE或DELETE语句并返回一个更新帐户,该帐户指示 受影响的行(例如,插入1行,或更新2行,或0行 受影响的)

ResultSet executeQuery(字符串sql):执行SELECT语句并返回一个ResultSet对象,其中包含 询问


请使用executeUpdate方法而不是executeQuery方法

请使用executeUpdate方法而不是executeQuery方法

executeQuery()---这通常用于读取数据库的内容。输出将采用ResultSet的形式。通常使用SELECT语句

executeUpdate()---这通常用于更改数据库。一般情况下,DROP表或数据库、INSERT into表、UPDATE TABLE、DELETE from TABLE语句都会用到这一点。输出的形式为int。该int值表示受查询影响的行数

execute()---如果您不知道使用哪种方法执行SQL语句,可以使用此方法。这将返回一个布尔值。TRUE表示结果是ResultSet,FALSE表示结果具有int值,该值表示受查询影响的行数。

executeQuery()---这通常用于读取数据库内容。输出将采用ResultSet的形式。通常使用SELECT语句

executeUpdate()---这通常用于更改数据库。一般情况下,DROP表或数据库、INSERT into表、UPDATE TABLE、DELETE from TABLE语句都会用到这一点。输出的形式为int。该int值表示受查询影响的行数


execute()---如果您不知道使用哪种方法执行SQL语句,可以使用此方法。这将返回一个布尔值。TRUE表示结果是ResultSet,FALSE表示结果具有int值,int值表示受查询影响的行数。

它看起来像是注释,而不是答案。请解释原因。这看起来像是评论,而不是回答。请解释原因。