zoukankan      html  css  js  c++  java
  • 手动建立数据库连接的BaseDAO

    package com.chinasoft.julong.dao;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    public class BaseDAO {
        private Connection conn;
        private ResultSet rst;
        private PreparedStatement  pst;
        
        String className="oracle.jdbc.OracleDriver";
        String useName="oracle";
        String password="oracle";
        String url="jdbc:oracle:thin:@127.0.0.1:1521:orcl";
        
        //加载数据库驱动程序
        public BaseDAO(){
            try {
                Class.forName(className);
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        //建立数据库连接
        public void getConnection(){
            try {
                conn=DriverManager.getConnection(url,useName,password);
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        
        
        //不带参数的有查询结果集的函数(查询)
        public ResultSet ExecuteQuery(String sql){
            return ExecuteQuery(sql,new Object[]{});
        }
        
        //带参数的有查询结果集的函数(查询)
        public ResultSet ExecuteQuery(String sql,Object[] arry){
            getConnection();
            try {
                pst=conn.prepareStatement(sql);
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            for(int i=0;i<arry.length;i++){
                try {
                    pst.setObject(i+1, arry[i]);
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            try {
                rst=pst.executeQuery();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return rst;
        }
        
        
        //不带参数的更新函数(增加,修改,删除)
        public int ExecuteUpdate(String sql){
            return ExecuteUpdate(sql,new Object[]{});
        }
        //带参数的更新函数(增加,修改,删除)
        public int ExecuteUpdate(String sql,Object[] arry){
            getConnection();
            int result=0;
            try {
                pst=conn.prepareStatement(sql);
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            for(int i=0;i<arry.length;i++){
                try {
                    pst.setObject(i+1, arry[i]);
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            try {
                result=pst.executeUpdate();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            Closed();
            return result;
        }
        
        //关闭数据库操作对象
        public void Closed(){
            try {
                if(rst!=null&&!rst.isClosed()){
                    rst.close();
                }
                if(!pst.isClosed()){
                    pst.close();
                }
                if(!conn.isClosed()){
                    conn.close();
                }
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
            }
        }
    
    }
    View Code
  • 相关阅读:
    DevOps Workshop 研发运维一体化(北京第二场) 2016.04.27
    DevOps Workshop 研发运维一体化(成都站) 2016.05.08
    TFS 2015 生成不输出任何结果
    挂起的更改中的“解析”是什么意思?原来是微软错误的翻译
    微软研发流程(ALM)管理培训会议(比亚迪汽车)
    TFS实战培训
    【实战TFS】【QQ群】了解别人是如何使用TFS的
    DevOps Workshop 研发运维一体化(广州站)
    制作Visual Studio 2017 (VS 2017) 离线安装包
    在每页(分页)报表中重复显示标题
  • 原文地址:https://www.cnblogs.com/feitianshaoxai/p/5855305.html
Copyright © 2011-2022 走看看