zoukankan      html  css  js  c++  java
  • 连接池基础

    一、事务的特性;事务的隔离级别。
    1、MySQL
    查看当前的事务隔离级别:SELECT @@TX_ISOLATION
    更改当前的事务隔离级别:SET TRANSACTION ISOLATION LEVEL 隔离级别


    2、事务的隔离级别
    READ UNCOMMITTED:脏读、不可重复读、虚读都有可能发生。
    READ COMMITTED:能避免脏读,不可重复读、虚读都有可能发生。
    REPEATABLE READ:能避免脏读、不可重复读,虚读有可能发生。
    SERIALIZABLE:能避免脏读、不可重复读、虚读。有一个性能的问题 因为会加锁 所以降低了性能。

    3、JDBC中控制事务的隔离级别
    Connection.setTransactionIsolation(int level) :level是Connection接口中的常量来表示的。
    原则:开启事务前先设置隔离级别。

    二、连接池的概念
    三、编码理解连接池的原理
    javax.sql.DataSource

    四、编写标准连接池及遇到的问题
    1、对一个已有类(不能修改)中的某个方法进行增强,有以下方式:
    继承:此处不合适

    使用包装设计模式:
    编写步骤:
    a、编写一个类,实现与被包装类相同的接口或继承被包装类
    b、定义一个私有变量,记住被包装对象的引用
    c、定义构造方法,传入被包装对象的引用
    d、对于要增强的方法,只管重写
    e、对于不需要增强的方法,调用原有对象的原有方法。

    动态代理:


    五、开源的连接池使用
    DBCP
    C3P0
    六、Tomcat管理数据源
    1、前提:拷贝数据库的驱动到Tomcatlib目录下
    2、在应用的META-INF目录下建立一个名字为context.xml的配置文件,内容如下:
    <?xml version="1.0" encoding="UTF-8"?>

    <Context>
    <Resource name="jdbc/day14" auth="Container" type="javax.sql.DataSource"
    maxActive="30" maxIdle="10" maxWait="10000"
    username="root" password="sorry" driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://localhost:3306/day14"/>

    </Context>
    注:经过以上配置,容器启动时就是会创建好数据源。
    3、获取数据源并使用。(JNDI的API)Java Naming and Directory Interface Java命名与目录服务

    Context initContext = new InitialContext();
    DataSource ds = (DataSource)initContext.lookup("java:/comp/env/jdbc/day14");
    Connection conn = ds.getConnection();

    七、获取数据库的元信息(编写框架用)
    1、元信息:数据库的定义信息等。
    2、DataBaseMetaData:数据库本身的元信息。
    3、ParameterMetaData:sql语句的占位符元信息
    4、ResultSetMetaData:结果集的元信息。

    八、自定义JDBC框架
    策略设计模式
    反射和泛型

  • 相关阅读:
    P4675 [BalticOI 2016 day1]Park 题解
    AT4432 [ARC103B] Robot Arms 题解
    P4357 [CQOI2016]K 远点对 题解
    P2163 [SHOI2007]园丁的烦恼 题解
    P3157 [CQOI2011]动态逆序对 题解
    bzoj 1568. [JSOI2008]Blue Mary开公司
    P3120 [USACO15FEB]Cow Hopscotch G 题解
    CSP-S 2021 题解
    Maven简介与安装
    java 基本程序设计结构 一
  • 原文地址:https://www.cnblogs.com/yys369/p/5325711.html
Copyright © 2011-2022 走看看