DBUtil中使用spring配置的数据源

1. 由于项目中使用的ssH框架,而部分程序中又有直接使用DBUtil工具类直接获取jdbc连接的地方,为了统一由spring管理数据源,想在DBUtil中也只接使用spring初始化好的数据源

2.spring配置的数据源如下(使用了dbcp连接池,需要2个jar包支持commons-dbcp.jar和commons-pool.jar)

<!-- 1、配置dbcp,数据源 -->

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">

        <property name="driverClassName">

            <value>com.mysql.jdbc.Driver</value>

        </property>

        <property name="url">

            <value>jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=utf8</value>

        </property>

        <property name="username">

            <value>root</value>

        </property>

        <property name="password">

            <value>tiger</value>

        </property>

        <property name="initialSize" value="10"/>

        <property name="minIdle" value="5"/>

        <property name="maxIdle" value="10"/>

        <property name="maxWait" value="60000"/>

        <property name="removeAbandonedTimeout" value="180"/>

        <property name="removeAbandoned" value="true"/>

    </bean>

3.DBUtil类

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import javax.sql.DataSource;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.FileSystemXmlApplicationContext;

/*

 * 获取数据库连接的工具类

 */

public class DBUtil

{

    private static DataSource ds = null;

    public static Connection conn;

    //加载驱动

    static

    {

        try {

            ApplicationContext ac = new FileSystemXmlApplicationContext("classpath:applicationContext.xml");

            ds = (DataSource) ac.getBean("dataSource");    

            

        } catch (Exception e) 

        {

            e.printStackTrace();

        }

    }

    //获得连接

    public static Connection getConnection() throws SQLException

    {

        return ds.getConnection();

    }

    /*

     * 关闭数据库连接

     */

    public static void close(ResultSet rs,Statement st,Connection conn)

    {

        if(rs!=null)

        { try {  

            rs.close();  

        } catch (SQLException e) {  

            e.printStackTrace();  

        }finally{  

            if(st!=null){  

                try {  

                    st.close();  

                } catch (SQLException e) {  

                    e.printStackTrace();  

                }finally{  

                    if(conn!=null){  

                        try {  

                            conn.close();  

                        } catch (SQLException e) {  

                            e.printStackTrace();  

                        }  

                    }  

                }  

            }  

        }  

        }

    }

    public static void main(String[] args) throws SQLException

    {

        System.out.println(DBUtil.getConnection());

    }

    

}

你可能感兴趣的:(spring配置)