datasourcemgr.java

来自「数据库远程同步软件NetBeans项目源文件 项目采用Jdesktop集成组件」· Java 代码 · 共 150 行

JAVA
150
字号
package com.qixuan.jdbc.common;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.sql.*;import java.util.Properties;import java.util.logging.Level;import java.util.logging.Logger;/**************************** * 使用 APACHE 开源组织提供的数据源实现: * 依赖于两个JAR 文件: * 		commons-dbcp-1.2.jar * 		commons-pool-1.3.jar * * @author mjw917 * */public class DataSourceMgr {    protected  Connection connection;    private String filePath = "conf/dbconfig_source.properties";    private static Properties info = new Properties();    public static final String DRIVER = "driverClass";    public static final String URL = "url";    public String getFilePath() {        return filePath;    }    public void setFilePath(String filePath) {        this.filePath = filePath;    }    public DataSourceMgr() {        init();    }    public DataSourceMgr(String filePath) {        this.filePath = filePath;        init();    }    public static final String USER = "user";    public static final String PWD = "password";    //配置一个 数据源    private void init() {        InputStream in = null;        try {            //获取输入流            in = new FileInputStream(filePath);            info.load(in);        } catch (IOException e) {            in = Thread.currentThread().getContextClassLoader().getResourceAsStream(filePath);            try {                info.load(in);            //e.printStackTrace();            } catch (IOException ex) {                e.printStackTrace();                Logger.getLogger(SourceDataBaseBean.class.getName()).log(Level.SEVERE, null, ex);            }        //e.printStackTrace();        } finally {            if (in != null) {                try {                    in.close();                } catch (IOException e) {                    e.printStackTrace();                }            }        }    }    public  Connection getConnection() {        try {            Class.forName(info.getProperty(DRIVER));//使用类反射加载该驱动类            //获得一个Connection            connection = DriverManager.getConnection(info.getProperty(URL), info.getProperty(USER), info.getProperty(PWD));            return connection;//返回该Connection        } catch (Exception e) {            e.printStackTrace();            return null;        }    }//传入查询数据库的sql语句,返回ResultSet    public  ResultSet getResultSet(String sql) {        boolean bSuccess = true;        Statement stmt = null;//声明Statement stmt        ResultSet rs = null;//声明ResultSet rs        Connection con = getConnection();//调用getConnetion()方法获得一个Connetion        if (con == null)//如果Connection 为null则返回假        {            bSuccess = false;        }        if (bSuccess) {            try {                stmt = con.createStatement();//通过Connection创建一个Statemet                rs = stmt.executeQuery(sql);//执行查询语句,            } catch (SQLException e) {                e.printStackTrace();                bSuccess = false;            }        }        if (bSuccess)//如果执行成功,则返回rs        {            return rs;        } else {            return null;        }    }    //传入执行数据更新的语句,返回更新结果,真为成功执行    public  boolean excute(String sql) {        boolean bSuccess = true;        Statement stmt = null;//声明Statement stmt        Connection con = getConnection();//调用getConnetion()方法获得一个Connetion        if (con == null)//如果Connection 为null则返回假        {            bSuccess = false;        }        if (bSuccess) {            try {                stmt = con.createStatement();//通过Connection创建一个Statemet                bSuccess = stmt.execute(sql);//执行更新数据操作            } catch (SQLException e) {                e.printStackTrace();                bSuccess = false;            }        }        return bSuccess;    }    //释放Connection    public  void releaseConnection() {        try {            if (connection != null)//  如果Connetion 不为null则关闭Connection            {                connection.close();            }        } catch (SQLException e) {            e.printStackTrace();        }    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?