前言
本文通过一个在Eclipse平台中搭建的小项目,在项目中使用一条静态命令来查询Oracle数据库测试用户“scott”下emp表中的几个字段,来学习JDBC连接数据库的方法。看完之后读者可以基本掌握JDBC-Oracle数据库连接方法,然后举一反三,学会使用使用JDBC连接其它数据库。
0.jdbc的连接步骤
①导入数据库的jdbc资源包(jar包)
②注册驱动
③建立数据库连接(Connection)
④准备SQL语句
⑤获取SQL语句发送器(Statement)
⑥发送并执行SQL语句,得到结果集(ResultSet)
⑦处理结果集
⑧关闭
1.导入资源包
从各数据库的安装目录中找到jdbc资源包,copy至需要的项目中。
以Oracle数据库为例
①以作者本机的Oracle安装地址作为参考,在“D:\Oracle\product\11.2.0\dbhome_1\jdbc\lib”下找到资源包,找到其中的“ojdbc6.jar”,复制到eclipse的项目中新建的lib文件夹中去。
②右键这个文件,选择Build Path->add to Build Path
然后就可以看到新增的资源包
2.注册驱动与建立数据库连接
①先用Class.forName()方式映射驱动类地址进来
②设置三个参数url、user、password
- url中“固定格式为 ‘jdbc:数据库名:连接方式:@数据库地址:端口号:实例名’ ”
- user表示访问数据库使用的用户名
- password表示用户名对应的密码
③使用DriveManagement工具获得一个Connection(使用三参构造方法)对象
④设置完后可以使用使用print方法输出conn对象,能够正常输出说明连接建立成功
3.准备SQL语句
准备需要执行的SQL语句,这里我们用一句静态的SQL指令来说明。
String sql=”select empno,ename,hiredate form emp”; //注意引号里的sql命令不需要以分号结束 |
4.创建发送器Statement
发送器用来将需要执行的sql语句发送给数据库。
发送器由连接器对象调用方法创建:
Statement st = conn.createStatement(); |
5.发送SQL语句执行并返回执行后的结果集
结果集由发送器发送并执行SQL命令返回获得。
ResultSet rs = st.excuteQuery(sql); //参数sql为我们定义的sql语句 |
6.处理结果集
结果集中的数据存储在一个二维表中,我们需要输出其中的元素来得到相应的数据。
在ResultSet类中,使用next方法判断结果表是否还有下一行,如果有则返回true,否则返回false。
该表的光标只能迭代一次,也就是说这个二维表只能遍历一次。
使用循环+getXXX方法获得对应的数据类型的列值。
while(rs.next()) { int empno=rs.getInt(1); String ename=rs.getString(2); Date hiredate=rs.getDate(3);//除了填列号还可以填列标签如这里可以填“hiredate” System.out.println(empno+"\t"+ename+"\t"+hiredate); } |
其中Date导入的是java.sql.Date包
7.关闭流
关闭流需要反向关闭,不然会报异常。
rs.close(); st.close(); coon.close(); |
8.效果展示
结束分割线