zoukankan      html  css  js  c++  java
  • 数据库连接池和软件设计分层模式

    数据库连接池

    1.什么是连接池 (connection pool)连接池


    在没有接触到连接池的时候,我们都是重复的去和数据库进行连接,打开资源,关闭资源,这样特别的繁琐。性能特别低,特别是在多用户访问的情况下。
    连接池负责与数据库进行连接不用重复进行打开资源和关闭资源,大大提高了程序的性能。连接池的最小连接数是由最小的数据库数量来定的。当应用程序
    连接数量超过了连接池的最大数量,则被加入等待队列。
    用户是怎么拿连接的?
    当用户去连接池拿连接的时候,连接池会向一个空闲池放入连接,如果空闲池有连接,用户直接拿空闲池中的连接,如果没有,则连接池看有没有超过连接池连接的
    最大数量,如果没有超过则创建一条连接给用户,如果超过则用户连接处于等待队列。。
    2.数据源与连接池
    数据源一组特性用于确定和描述他所表示的现实存在的数据源,数据源可以创建一些数据保存到连接池中,java程序直接可以在连接池中拿空闲的连接。
    数据源其实现负责建立与数据库的连接。

    软件设计分层模式
    1.三层架构 (分层用的最多的是三层架构,如果项目复杂也可以增加层!)
    表示层:使用户可以直接访问,可以接受用户的数据,和显示数据。一般表示层都是jsp文件、html文件。
    数据访问层:Dao层,用于对数据库的访问、连接。实现对数据的保存和读取操作。
    业务逻辑层:提供对业务逻辑处理的封装,表示层可以调用业务逻辑层的一些接口实现各种操作。
    2.层与层之间的关系
    三层之间互相依赖,表示层依赖业务逻辑层去实现各种操作,业务逻辑层依赖于数据访问层,一些功能代码基本都写在数据访问层(DAO层)。


    3.分层原则 如上图:
    01.上一层依赖下一层,依赖关系不夸层
    表示层依赖业务逻辑层,业务逻辑层依赖于数据访问层。
    02.下一层不能调用上一层
    业务逻辑层不能调用表示层,数据访问层不能调用业务逻辑层。
    03.下一层不依赖上一层
    数据访问层不依赖与业务逻辑层。
    04.在上一层中不能出现下一层的概念
    在表示层不会出现业务逻辑层的概念,在业务逻辑层也不会出现数据访问层的概念。
    4.分层实现
    我们将业务逻辑处理的代码提取出来并进行了封装,在JSP页面找不到与数据库访问有关的信息。各层发挥出了不同的功能。页面展示、业务处理、数据访问。有了分层写代码更加的明确清晰。

  • 相关阅读:
    Visual C++ 2010 SP1 x86&x64
    MVC拦截
    自定义HTTP消息拦截
    转mysql半主从同步
    mysql主从搭建之诡异事件
    snapshot相关
    分布式系统唯一ID生成方案汇总
    mysql监控利器mysqlmtop部署安装
    mysql日常运维
    MySQL索引背后的数据结构及算法原理
  • 原文地址:https://www.cnblogs.com/java-263/p/9836147.html
Copyright © 2011-2022 走看看