为了对学过的知识进行回顾和总结,今天写这篇文章。
为了使用java从数据库去读数据,或者把数据写入到数据库中。我们需要了解一些数据库连接的相关知识。
首先要不一个与数据库连接的包导入到Eclipse中,这个包的名字是:ojdbc14_11g.jar
用java连接数据有一下几步:
a.注册驱动
b.通过驱动管理器连接数据库。
c.获得语句对象。
d.传递SQL语句对象,并放回查询结果。
e.关闭资源。
下来是相应的代码实现数据库的连接:
1由于我连接数据库时候,用的是Oracle数据库。所以注册数据库驱动的用如下方式(不同数据库,字符不一样):
2通过驱动管理器获得到数据库的连接
//格式:"jdbc:oracle:thin:@<IP>:<端口号,默认1521>:<sid>"
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
String dbUsername = "system";
String dbPassword = "openlab";
conn = DriverManager.getConnection(url, dbUsername, dbPassword);
对于IP,如果所写的java程序与数据库在同一台计算机上,这时候可以写localhost,但是对不不在同一台计算机上这种情况,就需要写相应所在机子上的IP地址。对于Oracle数据库,使用端口号是1521。不同的数据有不同的端口号。sid指明了要连接的数据库的类型。dbUsername和dbPassword指的是按住数据库是所填写的用户名和密码。如果在安装Oracl没有填写用户名,默认是system。口令是必填的,口令就是这个地方的dbPassword。通过url,dbUsername,dbPassword这三个信息获得到数据库的一个连接的对象conn。而这个对象的类型是:Connection。
3.通过获得的连接获得语句对象。获得这个对象是为了调用相应的方法执行SQL语句的。
stmt = conn.createStatement();
4.执行SQL语句,并且遍历结果集
String sql = "select dname,location from dept_fen";
rs = stmt.executeQuery(sql);
while(rs.next()){
String dname = rs.getString("dname");
String loc = rs.getString("location");
//String dept = rs.getString("deptno");
System.out.println(dname + ","+ loc);
}
需要说明的是:dept_fen是我数据库中的一个表。用语句对象,调用executeQuery()方法,来执行SQL语句。
5关闭资源。
获得连接,获得语句对象,获得查询的结果集,都需要耗费相当大的资源。如果资源不关闭的话,数据库资源用尽,将不能进行数据的操作。所以关闭连接比较重要,切勿忘记!为了确保在任何情况下都能关闭打开的资源,可以使用下面这种方式。
finally{
//可以把关闭资源放在finally中,这样有个好处就是,不管发生什么情况,总会别执行到,所用建议使用这种
//方式来关闭资源,这是比较好的一种方式
try{
rs.close();
}catch(SQLException e){
e.printStackTrace();
}
try{
stmt.close();
}catch(SQLException e){
e.printStackTrace();
}
try{
conn.close();
}catch(SQLException e){
e.printStackTrace();
}
}
finally确保了在任何情况下,其内部的代码都会别执行到。