zoukankan      html  css  js  c++  java
  • jdbc操作数据库(使用连接池技术)查询封装结果

    连接池(DataSource)
        目的是为了节省创建连接和销毁连接所需要花费的时间 提高程序的执行效率
        
        DruidDataSource
            创建连接池对象
                1:
                    DruidDataSource d = new DruidDataSource();
                    d.setDriverClassName();
                    d.setUrl()
                    d.setUserName()
                    d.setPassword()
                2:    准备一个db.properties    
                    Properties p = new Properties();
                    p.load("src/db.properties"):
                    DruidDataSource d = DruidDataSourceFactory.createDataSource(p);
        C3P0
                1:
                    ComboPooledDataSource d = new ComboPooledDataSource();
                    d.setDriveClass()
                    d.setJdbcUrl()
                    d.setUser()
                    d.setPassword()
                    
                2:    在src下面 准备c3p0-config.xml
                    ComboPooledDataSource d = new ComboPooledDataSource();
                    ComboPooledDataSource d = new ComboPooledDataSource(String DataSource);
     
    DButils工具类
                QueryRunner
                    QueryRunner()        需要事务管理
                    QueryRunner(DataSource ds)    不需要事务管理
                    
     
                    //可以实现增删改操作
                    update(String sql,Object...params)
                    update(Connection conn,String sql,Object...params)
                    
                    //实现查询操作
                    query(String sql,ResultSetHandler rs,Object...params)
                    query(Connection conn,String sql,ResultSetHandler rs,Object...params)
                    
                    ResultSetHandler是一个接口 该接口中有一个抽象方法handle()
                    作业:自定义实现类实现ResultSetHandler接口并重写其handle方法(方法体的实现参看下午demo1)
                    
                    ArrayHandler        把每条表记录封装到一个Object数组中
                    ArrayListHandler    把每条表记录封装到一个Object数组中 再把所有数组放入list集合中
                    
                    BeanHandler            把每条表记录的字段封装到指定类型的属性上
                    BeanListHandler        把每条表记录的字段封装到指定类型的属性上 并且把多个该类型的对象放入list集合中
                    
                    MapHandler            把每条表记录的字段名和字段值放入到Map集合中
                    MapListHandler        把每条表记录的字段名和字段值放入到Map集合中 再把所有的Map集合封装到List集合中
                    
                    //了解
                    columnListHandler    封装指定列的查询记录
                    scalarHandler        查询单值记录
                    keyedHandler        把查询到的每条记录放入Map集合中 再把该Map集合放入外层Map集合的value位置 key是指定列名称
  • 相关阅读:
    mybatis 二级缓存
    前端学习记
    消息队列高手课 笔记11
    cache业务
    这个前端课程主要讲mui框架
    spring cloud stream
    最近学习freemarker
    说点什么
    即将进入Windows 11时代,DevExpress控件将会有哪些改变呢?
    UI开发框架Kendo React R3 2021更新亮点——新的 React 组件
  • 原文地址:https://www.cnblogs.com/BaiChunLong/p/11385662.html
Copyright © 2011-2022 走看看