A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 厦门校区   /  2018-5-28 17:29  /  6488 人查看  /  53 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

                                JDBC高级
批处理操作
        可以将一批SQL语句一起执行
基本使用
        添加批处理
                addBatch();
        执行批处理
                executeBatch();
        清空批处理
                clearBatch();
        为了防止批处理时产生内存溢出 应设置条件每隔一个时间段执行批处理 并清空批处理

                               
                                        JAVA操作事务
管理事务
        1 开启事务        setAutoCommit(false) 关闭事务自动提交功能
        2 提交事务: 没有问题的时候→数据生效,事务结束        commit()
        3 回滚事务: 有问题的时候→数据不生效,回滚事务        rollback();
                连接事务的对象必须为同一对象


                                        连接池
概述
        相当于一个装有连接的容器,使用连接的话,可以从连接池中进行获取,使用完成之后将连接归还给连接池.
        在服务器初始化时就初始化一些连接.把连接放入内存中,使用的时候从内存中获取,使用完成后归还给连接池.
作用
        提升性能 减少连接对象的创建和销毁


                                        自定义连接池
接口 DataSource
        1 实现接口 DataSource
        2 初始化多个连接
                创建list集合存储连接对象
                在空参构造中给集合添加连接对象
        3 重写getConnection方法               
                删除集合中第0个元素 return删除的元素对象(防止同一个连接对象重复被调用)       
        4 编写归还连接方法
                给集合添加传入的连接对象

问题及解决
        问题
                创建连接池对象 不方便程序的扩展       
                额外提供自定义方法提高了使用难度
        解决
                将close方法重写为归还方法(增强一个类中的方法)
                        1 采用继承的方式 重写父类的方法(使用条件:必须能够创建父类对象)
                        2 装饰者模式
                                使用条件 1 包装类和实现类要实现相同的接口
                                              2  包装类中获得实现类的引用(包装类中使用了实现类的对象)
                                为了简化编程 提供一个模版类(模版类继承接口的所有方法 需要全部重写)
                                        让包装类继承模版类 包装类有参构造 传入接口子对象和集合对象 将close方法改为归还方法
                        改写工具类的获得连接对象方法
                                创建包装类对象 传入连接对象和集合 增强close方法 返回增强后的连接对象



                                        Druid连接池
概述
        阿里旗下的开源连接池产品,可以与Spring框架进行快速整合.
        引入jar包和连接池驱动
使用1(手动方式)
        获取连接池对象 new DruidDataSource
        手动设置参数 dataSource.set

使用2(配置方式)
        属性文件中的key不可改变
        创建配置文件对象 new Properties
        读取配置文件 p.load(new ReaderFile)
        创建连接对象 DruidDataSourceFactory.create(P)

       
                                        C3P0开源连接池
引入jar包
使用1(手动方式)
        创建连接池  new ComboPooledDataSource
        设置参数        cbo.set
       
使用2(配置文件)
        在src路径下创建配置XML文件 文件名必须为(c3p0-config.xml) 配置连接池
        创建连接池 new ComboPooledDataSource 会默认去查找c3p0-config文件 之后即可直接使用


                                        改写工具类
创建 private final连接池对象
创建 获取连接对象方法
创建 获取连接池方法


                                        DbUtils
概念
        对JDBC进行了简单封装的开源工具类库 简化了JDBC的编程


QueryRunner 核心运行类
方法
        update(sql,可变参数) 增删改
        query(sql,可变参数)        查询
       
增删改操作
        创建QueryRunner运行类对象
        使用update传入SQL语句进行操作
查询操作
        创建QueryRunner运行类对象
        使用query传入SQl语句 匿名ResultSetHandler对象 泛型java类
        查询一条记录 获取数据赋值给java类中的成员变量
        查询多条数据 创建集合 泛型java类 创建java类对象 赋值 添加到集合中
        遍历集合 打印所有java类对象(需要重写toString方法)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马