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());
        }
        
    }
  • 相关阅读:
    Django视图之ORM数据库查询操作API
    Django视图之ORM更改数据库连接——配置MySQL库
    TLPI读书笔记第2章-基本概念2
    TLPI读书笔记第2章-基本概念1
    linux防火墙常用命令
    linux配置yum软件仓库
    linux进程管理
    linux文件权限
    linux用yum安装软件
    linux磁盘划分
  • 原文地址:https://www.cnblogs.com/david-rui/p/3513726.html
Copyright © 2011-2022 走看看