一、導入Hive依賴
在Idea中打開需要連接Hive的Maven項目,找到pom.xml文件,在其中添加以下依賴:
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-jdbc</artifactId>
<version>2.3.7</version>
</dependency>
添加完依賴後,Maven會自動下載所需的JAR包。
二、編寫Java代碼
在Idea中創建一個Java類,輸入以下代碼:
import java.sql.*;
public class HiveConnector {
private static String driverName = "org.apache.hive.jdbc.HiveDriver";
private static String url = "jdbc:hive2://localhost:10000/default";
private static String user = "";
private static String password = "";
public static void main(String[] args) throws SQLException {
try {
Class.forName(driverName);
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.exit(1);
}
Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM employee");
while (rs.next()) {
System.out.println(rs.getString(1) + "," + rs.getString(2) + "," + rs.getString(3));
}
rs.close();
stmt.close();
conn.close();
}
}
在以上代碼中,driverName、url、user、password分別代表Hive的驅動名、連接的地址、用戶名、密碼。可以根據實際情況進行修改。
主要代碼部分是執行一個SELECT語句,將結果遍歷並輸出。
三、運行程序
在Idea中,使用快捷鍵Shift + F10 或者點擊Run按鈕即可運行程序。
如果一切配置正確,程序將會輸出查詢結果。
四、如何避免SQL注入攻擊
避免SQL注入攻擊是開發過程中必須要注意的問題,以下是幾種常見的方法:
1、使用預編譯語句
PreparedStatement ps = conn.prepareStatement("SELECT * FROM employee WHERE name = ?");
ps.setString(1, "Tom");
ResultSet rs = ps.executeQuery();
在使用預編譯語句時,要使用setXXX()方法來設置參數,其中XXX是參數類型,例如setString()、setInt()等。
2、使用參數化查詢
Statement stmt = conn.createStatement();
String name = "Tom";
String sql = "SELECT * FROM employee WHERE name='" + name + "'";
stmt.executeQuery(sql);
使用參數化查詢時,將需要查詢的參數名用佔位符替換,例如”SELECT * FROM employee WHERE name=?”,然後使用setXXX()方法將參數設置進去。
五、總結
通過以上步驟,我們可以成功連接Hive,並執行SELECT語句,獲取查詢結果。同時,我們也要注意避免SQL注入攻擊的問題。
原創文章,作者:JAFQ,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/149579.html