首页 理论教育 Hive Java API的基本操作

Hive Java API的基本操作

时间:2023-06-26 理论教育 版权反馈
【摘要】:用于创建与数据库的连接会话,用来执行sql并返回结果。例如:final static StringDATABASE_PATH="jdbc:hive2://192.168.175.134:10000/data";final static StringUSER_NAME="hive";final static StringPASSWORD="123";Connection conn=DriverManager.getConnection;其中,hive默认端口是10000;URL地址中采用jdbc:hive2,而不是jdbc:hive,这是因为采用Hiveserver2启动而不是hiveserver。子接口PreparedStatement,用于发送含有一个或多个参数的sql语句。赋值,最后,调用executeUpdate或executeQuery方法执行SQL语句,从而避免SQL注入风险。

Hive Java API的基本操作

(1)Driver。

驱动接口,不同数据库提供自己的驱动实现,用户使用时注册指定的驱动实现。通常使用Class.forName()的方式注册。

例如:final static String DRIVER="org.apache.hive.jdbc.HiveDriver";//驱动程序名称。

Class.forName(DRIVER);//1.注册驱动。

(2)DriverManager。

驱动管理器,用来管理驱动,创建连接。

(3)Connection。

用于创建与数据库的连接会话,用来执行sql并返回结果。使用DriverManager.getConnection(DATABASE_PATH,USER_NAME,PASSWORD)创建新连接。

例如:final static String DATABASE_PATH="jdbc:hive2://192.168.175.134:10000/data";

final static String USER_NAME="hive";

final static String PASSWORD="123";

Connection conn=DriverManager.getConnection(DATABASE_PATH,USER_NAME,PASSWORD);(www.xing528.com)

其中,hive默认端口是10000;URL地址中采用jdbc:hive2,而不是jdbc:hive,这是因为采用Hiveserver2启动而不是hiveserver。

(4)Statement。

sql语句载体Statement,向数据库发送要执行的SQL语句,用于发送不含参数的sql语句,存在sql注入风险;

其中,SQL注入问题是指把用户输入的内容注入到了SQL语句里面去了,存在安全隐患。例如,将上述sql语句修改为:SELECT∗FROM user WHERE username='zs'AND password="or true,这样即使没有用户名或密码,该语句始终为正确语句。

(5)PreparedStatement。

子接口PreparedStatement,用于发送含有一个或多个参数的sql语句。将SQL语句中的变量都用?作为占位符代替,之后通过setXXX方法为?赋值,最后,调用executeUpdate或executeQuery方法执行SQL语句,从而避免SQL注入风险。

例如:String sql1="update user set nickname=?where username=admin";//定义SQL语句

Statement ps=con.prepareStatement(sql1);

ps.setString(1,nickname);//给占位符赋值,其中,第一个参数是表示第几个?,第二个则是值

int i=ps.executeUpdate();//执行SQL语句

(6)ResultSet:返回数据库的数据集。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈