1.在内存中开辟一块空间,存放多个数据库连接对象.就是Connection的多个实例
2. 连接池技术有很多,c3p0,dbcp,druid,以及JDBC Tomcat Pool,

  JDBC Tomcat Pool直接由 tomcat 产生数据库连接池.
3.图示
  3.1 active 状态:当前连接对象被应用程序使用中
  3.2 Idle 空闲状态:等待应用程序使用

4.使用数据库连接池的目的
  4.1 在高频率访问数据库时,使用数据库连接池可以降低服务器系
    统压力,提升程序运行效率.
  4.1.1 小型项目不适用数据库连接池.

5.实现 JDBC tomcat Pool 的步骤.
  5.1 在 web 项目的 META-INF 中存放 context.xml,在 context.xml 编写数据库连接池相关属性

<?xml version="1.0" encoding="UTF-8"?>
<Context> <Resource
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://192.168.153.128:3306/mybaties?characterEncoding=utf-8"
username="root"
password="123456"
maxActive="50"
maxIdl="20"
name="test"
auth="Container"
maxWait="10000"
type="javax.sql.DataSource"
/>
</Context>
maxActive="50"  连接池中最多有50个处于活动状态的Connection对象,也就是最大并发量
maxIdl="20" 连接池中最多有20个Connection处于空闲状态
name="test" 当前连接池的名称是test
auth="Container" 当前连接池归Tomcat容器管理,也可以设置成应用程序管理
maxWait="10000" 一个链接请求最长的等待毫秒数,如果超过时间还没有请求到Connection对象,就报错
type="javax.sql.DataSource" 连接池在java中对应的对象 5.2 把项目发布到 tomcat 中,数据库连接池产生了

6.可以在 java 中使用 jndi 获取数据库连接池中对象
  6.1 Context:上下文接口.context.xml 文件对象类型
  6.2 代码: 注意  下面的代码是写在Servlet中,并不是普通 java类中

Context cxt = new InitialContext();
DataSource ds = (DataSource)
cxt.lookup("java:comp/env/test");//前面的固定,text是context.xml配置的name属性的值
Connection conn = ds.getConnection();

  

mybatis学习三 数据库连接池技术的更多相关文章

  1. Java学习:数据库连接池技术

    本节内容 数据库连接池 Spring JDBC : JDBC Template 数据库连接池 1.概念:其实就是一个容器(集合),存放数据库连接的容器 当系统初始化好后,容器中会申请一些连接对象,当用 ...

  2. .数据库连接池技术:DBCP和C3P0

    数据库连接池技术:DBCP和C3P0 1.什么是数据库连接池 已知的方法是需要访问数据库的时候进行一次数据库的连接,对数据库操作完之后再释放这个连接,通常这样业务是缺点很明显的: 用户每次请求都需要向 ...

  3. java数据库连接池技术原理(浅析)

    在执行数据库SQL语句时,我们先要进行数据连接:而每次创建新的数据库的连接要消耗大量的资源,这样,大家就想出了数据库连接池技术.它的原理是,在运行过程中,同时打开着一定数量的数据库连接,形成数据连接池 ...

  4. 【Java】数据库连接池技术

    JDBC的问题 在程序中,我们经常要建立与数据库的连接,之后再关闭这个连接.我们知道,数据库连接对象的创建是比较消耗系统性能的,这些频繁的操作势必会消耗大量的系统资源.因此我们需要采用更高效的数据库访 ...

  5. 基于JDBC的数据库连接池技术研究与应用

    引言 近年来,随着Internet/Intranet建网技术的飞速发展和在世界范围内的迅速普及,计算机 应用程序已从传统的桌面应用转到Web应用.基于B/S(Browser/Server)架构的3层开 ...

  6. java数据库连接池技术简单使用

    JDBCDemo.java: package com.itheima.jdbc; import java.sql.Connection; import java.sql.PreparedStateme ...

  7. JDBC数据库连接池技术

    在JDBC中,获得连接或释放资源是非常消耗系统资源的两个过程,为了解决此类性能问题,通常采用连接池技术,来共享连接.这样我们就不需要每次都创建连接.释放连接了,这些操作都交给了连接池. 用池的概念来管 ...

  8. Spring Boot 集成 Mybatis(druid 数据库连接池 以及 分页配置)

    MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射,目前很大一部分互联网.软件公司都在使用这套框架 关于Mybatis-Generator的下载可以到这个地址:http ...

  9. MyBatis学习(三)

    前言 感觉学习进度还是比较慢啊,一整天的学习效率不是很高,一会看电视,一会喝茶,对自己的要求不严格...今天就说说关联表数据的插入以及别名的使用. 正文 1.关联插入 之前,我在数据库中已经创建了一张 ...

随机推荐

  1. 解决谷歌浏览器频繁出现adobe flash player因过期而遭到阻止的问题(转自知乎)

    作者:在战争中链接:https://www.zhihu.com/question/32223811/answer/128088278来源:知乎著作权归作者所有,转载请联系作者获得授权. 很多新用户在安 ...

  2. Docker 网络不通的解决方法

    表现是: docker主机内部网络正常,与其它主机的连接失效,其它主机不能连接docker主机上映射的端口,docker内部也无法连接外部主机. 执行docker info,可以看到一些警告. 可在不 ...

  3. 解决自定义classloader后无法使用maven install

    @上篇博客中探讨了web项目利用自定义classloader进行解密,利用的是编译后的文件直接运行程序一切正常 今天博主在探讨加密后进行混淆时,打包程序报程序包org.apache.catalina. ...

  4. iOS 组件化流程详解(git创建流程)

    [链接]组件化流程详解(一)https://www.jianshu.com/p/2deca619ff7e

  5. Bootstrap(5)栅格系统

    一.移动设备优先 在 HTML5 的项目中,我们做了移动端的项目.它有一份非常重要的 meta,用于设置屏幕和设备等宽以及是否运行用户缩放,及缩放比例的问题. //分别为:屏幕宽度和设备一致.初始缩放 ...

  6. Mysql数据库(一)

    一 什么是数据库 一般来说,所有的数据都要存储在硬盘中,为了方便对这些数据的管理因此就出现了例如MySQL SQLserver oracle等数据库管理软件. 数据库中的数据按一定的数据模型组织.描述 ...

  7. PowerDesigner生成数据字典

    1.首先说明我使用的环境 2.打开PDM模型,右键-->NEW-->REPORT 3.数据字典编辑器(一些通用模型吧,自己可以再DIY) 4.选择Table-->List of Ta ...

  8. linq to sql语句中转换数据类型和日期操作

    System.Data.Entity.SqlServer.SqlFunctions.StringConvert System.Data.Entity.DbFunctions

  9. 服务器webapi集成极光推送学习笔记

    一路坎坷,坑死你!!!入坑需做好心理准备. 第一天: 其文档支持不给力,和微信的文档支持比起来能气死你,刚开始弄,看了一大堆东西,找不到头绪从哪里开始弄.只好找了一些文档,先了解了其基本原理,参考文章 ...

  10. xslt中substring 函数的用法

    1.函数定义: string substring(string, number, number?) 2.xslt中substring 函数功能: 返回第一个参数中从第二个参数指定的位置开始.第三个参数 ...