Java访问Phoenix连接

两种方法,一种是直接使用jdbc连接,一种是使用spring连接。

jdbc连接和访问oracle步骤相同:

///////////// 测试Phoenix连接 ///////////////
                String testSQL = "select \"1\",\"2\"  from fengji where rowid like '1-20170413%'";
                try {
                        Class.forName("org.apache.phoenix.jdbc.PhoenixDriver");
                } catch (ClassNotFoundException e1) {
                        System.out.println("org.apache.phoenix.jdbc.PhoenixDriver未找到");
                }
                List<Integer>resList = new ArrayList<Integer>();
                Connection con1 = DriverManager.getConnection("jdbc:phoenix:ccs01a:2181/hbase","","");
                Statement stmt = con1.createStatement();
                ResultSet rset = stmt.executeQuery(testSQL);
                while (rset.next()) {
                        resList.add(rset.getInt("1"));
                }
                System.out.println(resList.size());
                stmt.close();
                con1.close();
                
                /////////////////////////////////////

  2、spring与oracle也基本相同,需要修改配置文件:

 1     <!-- phoenix配置 -->
 2     <bean 
 3           class="org.springframework.jdbc.core.JdbcTemplate">
 4         <constructor-arg ref="phoenixDataSource"/>
 5         <qualifier value="phoenixJdbcTemplate"></qualifier>
 6     </bean>
 7     <bean  class="org.apache.commons.dbcp.BasicDataSource">
 8         <property name="driverClassName" value="org.apache.phoenix.jdbc.PhoenixDriver"/>
 9         <property name="url" value="jdbc:phoenix:ccs01a:2181/hbase"/>
10         <property name="username" value=""/>
11         <property name="password" value=""/>
12         <property name="initialSize" value="20"/>
13         <property name="maxActive" value="0"/>
14         <!--因为Phoenix进行数据更改时不会自动的commit,必须要添加defaultAutoCommit属性,否则会导致数据无法提交的情况-->
15         <property name="defaultAutoCommit" value="true"/>
16     </bean>