java操作ORACLE数据库工具类(JDBC)

package com.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
 *	
 * 2015-3-5下午2:45:56
 *
 *MusicWeb.util.DBUtil
 *连接数据库 类
 */
public class DBUtil {
	

		private static String driver = "oracle.jdbc.driver.OracleDriver";

		private String url = "jdbc:oracle:thin:@localhost:1521:orcl";

		private String user = "XXX";//oracle数据库的用户名
		private String pwd = "XXXXXX";//oracle数据库的用户密码
		private PreparedStatement sta = null;
		private ResultSet rs = null;
		private Connection conn = null;

		/**
		 * 加载驱动程序
		 */
		static {
			try {
				Class.forName(driver);
			} catch (ClassNotFoundException e) {
				e.printStackTrace();
			}
		}

		/**
		 * @return 连接对象
		 */
		public Connection getConn() {
			try {
				conn = DriverManager.getConnection(url, user, pwd);
			} catch (SQLException e) {

				e.printStackTrace();
			}
			return conn;
		}

		/**
		 * @param sql
		 *            sql语句  增加,删除,修改
		 * @param obj
		 *            参数
		 * @return
		 */
		public int update(String sql, Object... obj) {
			int count = 0;
			conn = getConn();
			try {
				sta = conn.prepareStatement(sql);
				if (obj != null) {
					for (int i = 0; i < obj.length; i++) {
						sta.setObject(i + 1, obj[i]);
					}
				}
				count = sta.executeUpdate();
			} catch (SQLException e) {
				e.printStackTrace();
			} finally{
			
				close();
			}
			return count;
		}

		/**
		 * @param sql sql语句
		 * @param obj 参数
		 * @return 数据集合
		 */
		public ResultSet Query(String sql,Object...obj){
			conn=getConn();
			try {
				sta=conn.prepareStatement(sql);
				if(obj!=null){
					for(int i=0;i<obj.length;i++){
						sta.setObject(i+1, obj[i]);
					}
				}
				rs=sta.executeQuery();
			} catch (SQLException e) {
				e.printStackTrace();
			}
			return rs;
		}
		
		/**
		 * 关闭资源
		 */
		public void close() {
			try {
				if (rs != null) {
					rs.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			} finally {
				try {
					if (sta != null) {
						sta.close();
					}
				} catch (SQLException e2) {
					e2.printStackTrace();
				} finally {
					if (conn != null) {
						try {
							conn.close();
						} catch (SQLException e) {
							e.printStackTrace();
						}
					}
				}
			}
		}

}
补充: JDBC深度封装的工具类 http://blog.sina.com.cn/s/blog_7ffb8dd501013qd5.html

版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://www.cnblogs.com/lovelyx/p/4867097.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值