zoukankan      html  css  js  c++  java
  • 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

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

  • 相关阅读:
    Python:在一个moudle如何引入另一个moudle下面的包
    RobotFramework做自动化中,能定位到iFrame里面,怎么在iFrame里面输入文字?
    RobotFramework框架做自动化的过程中,遇到不能选择下拉框问题
    雕刻机虚拟仿真及上位机设计(Labview上位机+Proteus仿真)
    医学成像原理——NMR/MRI成像基础
    数字图像处理(二) 灰度变换与空域滤波
    数字图像处理(一) 数字图像基础
    Python爬虫笔记
    python数据分析-第一周
    pyhton-web开发
  • 原文地址:https://www.cnblogs.com/lovelyx/p/4867097.html
Copyright © 2011-2022 走看看