使用DBCP连接池

来源:互联网 发布:万达电商 网络总裁 编辑:程序博客网 时间:2024/04/25 19:14

jar包及源码
1:编写配置文件db.properties

driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/web08?useUnicode=true&characterEncoding=utf8username=rootpassword=root

2:编写DBCP工具类

package cn.itheima.jdbc.utils;import java.io.InputStream;import java.sql.Connection;import java.sql.SQLException;import java.util.Properties;import javax.sql.DataSource;import org.apache.commons.dbcp.BasicDataSourceFactory;public class DBCPUtils {    private static DataSource dataSource;    static{        try {            //1.加载找到properties文件输入流            InputStream in = DBCPUtils.class.getClassLoader().getResourceAsStream("db.properties");            //2.加载输入流            Properties prop = new Properties();            prop.load(in);            //3.创建数据源            dataSource = BasicDataSourceFactory.createDataSource(prop);        } catch (Exception e) {            throw new RuntimeException(e);        }    }    public static DataSource getDataSource(){        return dataSource;    }    public static Connection getConnection(){        try {            return dataSource.getConnection();        } catch (SQLException e) {            throw new RuntimeException(e);        }    }}

3:编写测试类

package cn.itheima.jdbc.test;import java.sql.Connection;import java.sql.PreparedStatement;import org.junit.Test;import cn.itheima.jdbc.utils.DBCPUtils;import cn.itheima.jdbc.utils.JDBCUtils_V3;public class TestDBCP {    @Test    public void testUpdateUserById(){        Connection conn = null;        PreparedStatement pstmt = null;        try {            conn = DBCPUtils.getConnection();            String sql = "update tbl_user set upassword=? where uid=? ";            pstmt = conn.prepareStatement(sql);            pstmt.setString(1, "root");            pstmt.setInt(2, 1);            int rows = pstmt.executeUpdate();            if(rows>0){                System.out.println("更新成功!");            }else {                System.out.println("更新失败!");            }        } catch (Exception e) {            // TODO: handle exception        }finally {            JDBCUtils_V3.release(conn, pstmt, null);        }    }}
0 0
原创粉丝点击