使用phoenix的jdbc api的upsert语句插入记录,然后用select查询始终查询不到记录,最后发现是因为在插入完毕之后没有做commit().
phoenix本身是不会在关闭连接时做commit的,需要我们手动调用commit方法,如下代码片段:
static void executeSQL(String sql) throws SQLException {
Connection conn = (USER == null ? DriverManager.getConnection(JDBC_URL) : DriverManager.getConnection(JDBC_URL, USER, PASSWORD));
Statement statement = conn.createStatement();
statement.execute(sql);
//此处必须显式调用commit
conn.commit();
int effectRowCount = statement.getUpdateCount();
System.out.println("Query ok" + " effect rows "
+ effectRowCount);
long timeUsed = System.currentTimeMillis() - time;
System.out.println("time " + timeUsed + "mm");
statement.close();
conn.close();
}