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