最近学习了j2ee,练习了用jdbc连接oracle数据库,现在把大致的过程分享在这里
JDBC是一种用于执行sql语句的java api。使用jdbc连接数据库并进行操作分为一下几步:
1、加载jdbc驱动
2、创建连接
3、执行sql语句并获得查询结果集
4、显示结果信息
5、释放资源
接下来在代码中一步一步的进行(我使用的是MyEclipse,建立的web项目,首先需要把oracle的jdbc驱动包复制到WEB-INF下的lib文件夹下)。在src添加一个包,在包中建立java类,代码如下:
//引入jdbc相关的类
import java.sql.*;
public class DbUtil {
/*
*获取连接
*
*/
public static Connection getConnection(){
//声明连接
Connection conn=null;
//jdbc驱动名
String driverName="oracle.jdbc.driver.OracleDriver";
//所要连接的数据库url
String url="jdbc:oracle:thin:@localhost:1521:xqf";
//用户名和密码
String username="drp1";
String password="drp1";
try {
//1、加载数据库驱动
Class.forName(driverName);
//2、在数据库和程序之间建立连接
conn=DriverManager.getConnection(url,username,password);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch(SQLException e){
e.printStackTrace();
}
return conn;
}
public static void main(String[] arg){
//建立连接对象
Connection con=DbUtil.getConnection();
//定义用户执行sql语句的statement和结果集
Statement stmt=null;
ResultSet rs=null;
try {
//建立Statement对象,该对象可以用于执行sql语句
Statement stmt=con.createStatement();
//3、执行sql语句,获得结果集
rs=stmt.executeQuery("select * from t_user");
while(rs.next()){
//4、打印结果中的某个字段
System.out.println(rs.getString("USER_ID"));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try{
//5、关闭资源
rs.close();
stmt.close();
conn.close();
}catch(Exception e){
}
}
}
}
其中需要注意的是加载jdbc驱动:
String driverName="oracle.jdbc.driver.OracleDriver";
Class.forName(driverName);
连接不同的数据库对应不同的数据库名称,下面分别是odbc,mysql,oracle,sqlserver的驱动名:
再有需要解释的就是连接数据库的url:
String url="jdbc:oracle:thin:@localhost:1521:xqf";
url由3部分组成:<协议>:<子协议>:<子名称>,中间用冒号分隔
协议:不管连接什么数据库都是 jdbc
子协议:不同的数据库对应不同的名称,这个例子里是oracle:thin
子名称:包含要连接数据的名称、用户名和密码等信息