(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:返回数据库的数据集。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。