zoukankan      html  css  js  c++  java
  • 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());
        }
        
    }
  • 相关阅读:
    Arcgis Android 常见问题
    Arcgis Android 手动搭建开发环境
    Arcgis Android 坐标转换
    ArcGis Android 10.2.6更新文档翻译
    arcgis android 中shapefile的加载
    arcgis android 10.2.5开发环境配置
    so far so good
    做什么都要坚持,写blog也一样,
    WPF前台数据验证(红框)Validation.ErrorTemplate 附加属性
    WOSA/XFS及SP综述
  • 原文地址:https://www.cnblogs.com/david-rui/p/3513726.html
Copyright © 2011-2022 走看看