java与Oracle数据库建立连接的jdbc类

阅读更多

由于工作得到一个新的需求,需要通过ETL数据采集工具,调用java代码,此java代码需要从另一数据库查出数据。首先想到通过jdbc将数据库的数据查出来,再进行逻辑运算。

于是想着顺便整理下一个普通的jdbc连接类,方便以后直接使用。

 

1、从Oracle官网或者其他地方下载一个Oraclejar包:


java与Oracle数据库建立连接的jdbc类_第1张图片
 

2、编写代码:

public static void main(String[] args) {
		Connection con = null; //创建数据库连接
		PreparedStatement pre = null; //创建预编译语句对象,对sql语句预编译
		ResultSet res = null; //创建一个查询结果对象

		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");// 加载驱动
			System.out.println("开始尝试连接数据库");
			String url = "jdbc:oracle:" + "thin:@127.0.0.1:1521:orcl";// 注意@,127.0.0.1是本机地址,1521端口号,orcl数据库名称
			String user = "shopping";//用户名
			String psw = "123456";//密码
			con = DriverManager.getConnection(url, user, psw);// 获取连接
			System.out.println("连接成功");
			String sql = "select * from person where name=?";//“?”代表参数
			pre = con.prepareStatement(sql);// 预编译sql语句
                        pre.setString(1, "张三");//1代表第一个“?”,参数索引
			res = pre.executeQuery();// 执行查询
			while (res.next()) {// 判断结果不为空
				System.out.println(res.getString("name"));
			}
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {

			try {//逐一关闭对象,后用的先关闭,避免占用资源
				if (res != null) {
					res.close();
				}
				if (pre != null) {
					pre.close();
				}
				if (con != null) {
					con.close();
				}
				System.out.println("数据库连接已关闭");
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

 

注意:此时运行代码会出现以下错误,

 


java与Oracle数据库建立连接的jdbc类_第2张图片
 

 

这是一个很常见的错误,程序到这里还没完,别忘了刚刚下载的Oraclejar包,需要导入。

 

右键项目---->build path---->Add External JARs…---->添加刚刚下载的jar包,重新运行程序即可

 

 

 

 

  • java与Oracle数据库建立连接的jdbc类_第3张图片
  • 大小: 4.8 KB
  • java与Oracle数据库建立连接的jdbc类_第4张图片
  • 大小: 51.3 KB
  • 查看图片附件

你可能感兴趣的:(oracle,jdbc,sql,java,工作)