目录

  • 1 概述及环境配置(4学时)
    • 1.1 课程介绍
    • 1.2 基础知识(2学时)
    • 1.3 [T1]环境配置(2学时)
  • 2 MVC(18学时)
    • 2.1 HTML/CSS/JS(2学时)
    • 2.2 JSP语法(2学时)
    • 2.3 JSP内置对象(4学时)
    • 2.4 [T2]JSP实训(2学时)
    • 2.5 M:JavaBean(1学时)
    • 2.6 Servlet(2学时)
    • 2.7 EL/JSTL(1学时)
    • 2.8 Filter(2学时)
    • 2.9 [T3]MVC实训(2学时)
    • 2.10 设计模式(课外)
  • 3 PBD(24学时)
    • 3.1 JDBC(2学时)
    • 3.2 [T4]JDBC实训(2学时)
    • 3.3 三层架构(2学时)
    • 3.4 数据库连接池(2学时)
    • 3.5 JdbcTemplate(2学时)
    • 3.6 [T5]三层架构实训(2学时)
    • 3.7 思政专题:信息安全
      • 3.7.1 Ajax数据检验(2学时)
      • 3.7.2 CAPTCHA(2学时)
      • 3.7.3 Cookies(2学时)
      • 3.7.4 密码加密(2学时)
    • 3.8 [T6]安全系统实训(4学时)
  • 4 Framework(12学时)
    • 4.1 Hibernate(课外)
    • 4.2 Mybatis(4学时)
    • 4.3 Spring(4学时)
    • 4.4 SpringMVC(4学时)
    • 4.5 SSM(课外)
  • 5 创新创业专栏
    • 5.1 学生学术论文
    • 5.2 学生开发项目
    • 5.3 大学生创新项目
    • 5.4 学科竞赛获奖
    • 5.5 授权软件著作权
    • 5.6 学生小讲堂
  • 6 资料下载
    • 6.1 开发软件
    • 6.2 开发资源
    • 6.3 帮助文档
    • 6.4 课程讲义
    • 6.5 国家标准
    • 6.6 课外资源
数据库连接池(2学时)

问题01:数据库连接池有什么作用?

问题02:数据库连接池javax.sql.DataSource的重要API。

  • JDBC提供了javax.sql.DataSource接口

  • public static DataSource ds = null; 核心问题

  • Connection javax.sql.DataSource.getConnection()

问题03:数据库连接池的手动实现。

  • 使用线程安全的Vector容器存放Connection(C3P0使用的是LinkedList)

    private Vector<Connection> freeConn = new Vector<Connection>();
    private Vector<Connection> userConn = new Vector<Connection>();
    private static ThreadLocal<Connection> threadLocal = new ThreadLocal<Connection>();

https://www.likecs.com/show-203938020.html

问题04:DBCP数据库连接池使用

1. 导入jar包

2. 数据库信息配置

3. 初始化数据源

  1. 使用配置文件

ds = BasicDataSourceFactory.createDataSource(prop);
  1. 手动配置

    public static DataSource ds = null;
    static {
        // 获取DBCP数据库连接池实现类对象
        BasicDataSource bds = new BasicDataSource();
        // 设置连接数据库需要的配置信息
        bds.setDriverClassName("com.mysql.cj.jdbc.Driver");
        bds.setUrl("jdbc:mysql://localhost:3306/jdbc?serverTimezone=GMT%2B8");
        bds.setUsername("root");
        bds.setPassword("root");
        // 设置连接池的初始化连接参数
        bds.setInitialSize(5);
        ds = bds;
    }

4. 获得数据源和连接

  1. 获得数据源

	public static DataSource getDs() {
		return ds;
	}
  1. 获得连接

    Connection conn = ds.getConnection();

问题05:c3p0数据库连接池的使用

1. 导入jar包

2. 数据库信息配置

3. 初始化数据源

src根目录下创建一个c3p0-config.xml文件

public static DataSource ds = new ComboPooledDataSource();

4. 获得数据源和连接

同上

问题06:Druid数据库连接池的使用

1. 导入jar包

2. 数据库信息配置

3. 初始化数据源

ds = DruidDataSourceFactory.createDataSource(pro);

4. 获得数据源和连接

同上