代码中使用phoenix
1) 基础使用
maven配置:
<dependency>
<groupId>org.apache.phoenix</groupId>
<artifactId>phoenix-core</artifactId>
<version>4.6.0-HBase-0.98</version>
</dependency>
package com.harvetech.service;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class PhoenixService {
private static String driver = "org.apache.phoenix.jdbc.PhoenixDriver";
public static void main(String[] args) throws SQLException {
try{
Class.forName(driver);
} catch(ClassNotFoundException e) {
e.printStackTrace();
}
Connection con = DriverManager.getConnection("jdbc:phoenix:192.168.110.97,192.168.110.98,192.168.110.99:2181");
Statement stmt = con.createStatement();
String sql = "select * from \"harve_role\"";
ResultSet rset = stmt.executeQuery(sql);
while (rset.next()) {
System.out.println(rset.getString("name"));
}
stmt.close();
con.close();
}
}
2) 抽成工具类
package com.harvetech.utils;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class HbaseSqlUtils {
private static String driver = "org.apache.phoenix.jdbc.PhoenixDriver";
private static String zkAddress = "192.168.110.97,192.168.110.98,192.168.110.99:2181";
private static Connection _connection = null;
private static HbaseSqlUtils _instance = null;
private HbaseSqlUtils(){
try {
Class.forName(driver);
_connection = DriverManager.getConnection("jdbc:phoenix:" + zkAddress);
} catch (SQLException e) {
e.printStackTrace();
}catch(ClassNotFoundException e) {
e.printStackTrace();
}
}
public static HbaseSqlUtils instance(){
if (null == _instance){
_instance = new HbaseSqlUtils();
}
return _instance;
}
private static Connection getConnection(){
return instance()._connection;
}
public static ResultSet sqlQuery(String sql) throws SQLException{
Statement stmt = getConnection().createStatement();
ResultSet rset = stmt.executeQuery(sql);
//stmt.close();
return rset;
}
public static void main(String[] args) throws SQLException {
System.out.println("===============================");
String sql = "select * from \"harve_role\"";
ResultSet rset = HbaseSqlUtils.sqlQuery(sql);
while (rset.next()) {
System.out.println(rset.getString("name"));
}
System.out.println("-----------------------------");
String sql2 = "select * from \"harve_user\" limit 3";
ResultSet rset2 = HbaseSqlUtils.sqlQuery(sql2