package dao; import java.sql.*; /** * Created by root on 17-1-10. */ public class HiveServer2Dao { /** * 获取链接 * @return */ private static Connection getConn() { String driver = "org.apache.hive.jdbc.HiveDriver"; String url = "jdbc:hive2://192.168.1.112:10000/test"; String username = "root"; String password = ""; Connection conn = null; try { Class.forName(driver); //classLoader,加载对应驱动 conn = DriverManager.getConnection(url, username, password); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; } /** * * @return */ private static Integer getAll(String tableName) { Connection conn = getConn(); String sql = "select count(*) from ?"; PreparedStatement pstmt; try { pstmt = conn.prepareStatement(sql); pstmt.setString(1,tableName); ResultSet rs = pstmt.executeQuery(); if(rs.next()){ System.out.print("总记录数:"+rs.getInt(1)); return rs.getInt(1); }else { return 0; } } catch (SQLException e) { e.printStackTrace(); } return null; } /** * 简单查询操作 */ private static ResultSet query(String sql) { Connection conn = getConn(); Statement st; ResultSet rs=null; try { st = conn.createStatement(); rs = st.executeQuery(sql); } catch (SQLException e) { e.printStackTrace(); } return rs; } /** * 查询操作,动态SQL * @param sql * @param args * @return */ private static ResultSet query(String sql,String... args) { Connection conn = getConn(); PreparedStatement pstmt; ResultSet rs=null; try { pstmt = conn.prepareStatement(sql); for(int i=0;i<args.length;i++) pstmt.setString(i+1, args[i]); rs = pstmt.executeQuery(); } catch (SQLException e) { e.printStackTrace(); } return rs; } public static void main(String[] args) throws SQLException { /*String url = "jdbc:hive2://192.168.1.112:10000/test"; try { Class.forName("org.apache.hive.jdbc.HiveDriver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } Connection conn = DriverManager.getConnection(url,"hadoop",""); Statement stmt = conn.createStatement(); String sql = "SELECT * FROM person limit 10"; ResultSet rs = stmt.executeQuery(sql); while(rs.next()){ System.out.println("id: "+rs.getInt(1)+"\t name: "+rs.getString("name")+"\tage: "+rs.getString(3)); }*/ String sql="SELECT * FROM person limit 10"; ResultSet rs=HiveServer2Dao.query(sql); while(rs.next()){ System.out.println("id: "+rs.getInt(1)+"\t name: "+rs.getString("name")+"\tage: "+rs.getString(3)); } } }
输出信息:
log4j:WARN No appenders could be found for logger (org.apache.hive.jdbc.Utils).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
id: 1 name: xiaoli age: 16
Process finished with exit code 0