Mybatis数据源

数据源

回顾JDBC

  • JDBC访问数据库流程
    1. 加载驱动
    2. 获取Connection连接对象(消耗性能)
    3. 获取PrepareStatement对象
    4. 执行SQL语句
    5. 获取结果集
    6. 关闭Connection连接对象
  • 问题

    频繁访问数据库时性能下降(高并发)

数据源的概念

数据源是一种提高 JDBC 访问数据库性能的常规手段

数据源的原理

数据源会负责维持一个数据库连接池,连接池中会一次性地提前创建多个 Connection 连接对象,并把这些Connection连接对象保存在连接池中。

当程序需要进行数据库访问时,无须进行重新获取 Connection 连接对象,而是从连接池中取出一个空闲的Connection连接对象。

当程序使用 Connection 连接对象访问数据库结束后,无须关闭 Connection 连接对象,而是归还给数据库连接池中。通过这种方式,就可以避免频繁访问数据库时性能下降的问题

当 Connection 连接对象耗尽时,连接池会批量创建一批 Connection 连接对象存放到连接池中。当连接池中有长期未使用的 Connection 连接对象,则会自动将其释放,以节省内存空间。

数据源的本质

一种以空间换时间的性能优化思想

扩展知识

Java 线程池原理

数据源连接池总结

  • JDBC 的弊端
  • 数据源的概念
  • 数据源的原理
  • 数据源的本质
posted @ 2021-09-28 18:50  嘛了对就念来过倒  阅读(91)  评论(0编辑  收藏  举报