• DBUtils


    DBUtils用于简化dao层的JDBC操作。

    QueryRunner对象用于调用方法,实现对表的增删改(update方法)查(query方法)。
    ResultHandle方法,用于获得不同的查询结果,将结果封装到不同的对象中去。
    ===========================================================================================
    ArrayHandler 将结果集中的第一条记录封装到一个Object[]数组中,数组中的每一个元素就是这条记录中的每一个字段的值
    ArrayListHandler 将结果集中的每一条记录都封装到一个Object[]数组中,将这些数组在封装到List集合中。
    BeanHandler 将结果集中第一条记录封装到一个指定的javaBean中。
    BeanListHandler 将结果集中每一条记录封装到指定的javaBean中,将这些javaBean在封装到List集合中
    ColumnListHandler 将结果集中指定的列的字段值,封装到一个List集合中
    ScalarHandler 它是用于单数据。例如select count(*) from 表操作。
    MapHandler 将结果集第一行封装到Map集合中,Key 列名, Value 该列数据
    MapListHandler 将结果集第一行封装到Map集合中,Key 列名, Value 该列数据,Map集合存储到List集合
    ===============================================================================================
    BeanUtils.populate(对象,map),可以将map中相对应键的值赋给对象中。
    =============================================================================================
    连接池是用来管理connection的,可以重复利用connection,方便开发流程,避免重复创建和关闭connection。
    常用的连接池有DBCP和C3P0,两者的方法基本相同。
    DBCP连接池使用前要导入DBCP和pool两个JAR包,编写DBUtils,用getDataSource()的方法返回连接池对象。
    C3P0连接池使用前需要导入3个jar包,要在工程的src下编写配置文件:c3p0-config.xml.
    ===============================================================
    内容如下(转自网络):
    <?xml version="1.0" encoding="UTF-8"?>
    <c3p0-config>
    <!-- 这是默认配置信息 -->
    <default-config>
    <!-- 连接四大参数配置 -->
    <property name="jdbcUrl">jdbc:mysql://localhost:3306/mydb3</property>
    <property name="driverClass">com.mysql.jdbc.Driver</property>
    <property name="user">root</property>
    <property name="password">123</property>
    <!-- 池参数配置 -->
    <property name="acquireIncrement">3</property>
    <property name="initialPoolSize">10</property>
    <property name="minPoolSize">2</property>
    <property name="maxPoolSize">10</property>
    </default-config>

    <!-- 专门为oracle提供的配置信息 -->
    <named-config name="oracle-config">
    <property name="jdbcUrl">jdbc:mysql://localhost:3306/mydb1</property>
    <property name="driverClass">com.mysql.jdbc.Driver</property>
    <property name="user">root</property>
    <property name="password">123</property>
    <property name="acquireIncrement">3</property>
    <property name="initialPoolSize">10</property>
    <property name="minPoolSize">2</property>
    <property name="maxPoolSize">10</property>
    </named-config>

    </c3p0-config>
    ==========================================================================
    JDBCUtils的内容如下(转自网络):
    package cn.itcast.jdbc;

    import java.sql.Connection;
    import java.sql.SQLException;

    import javax.sql.DataSource;

    import com.mchange.v2.c3p0.ComboPooledDataSource;

    public class JdbcUtils {
    // 配置文件的默认配置!要求你必须给出c3p0-config.xml!!!
    private static ComboPooledDataSource dataSource = new ComboPooledDataSource();

    /**
    * 使用连接池返回一个连接对象
    * @return
    * @throws SQLException
    */
    public static Connection getConnection() throws SQLException {
    return dataSource.getConnection();
    }

    /**
    * 返回连接池对象!
    * @return
    */
    public static DataSource getDataSource() {
    return dataSource;
    }
    }
    ==========================================
    使用方法仍然是再QueryRunner()的传递参数中传入JDBCUtils用getDataSource()获得的连接池对象。

  • 相关阅读:
    10.17 作业
    10.12 classmethod,staticmethod,反射,魔法方法
    10.11 组合,封装,多态
    10.11 作业
    day20 作业
    10.10 类的继承,继承关系,派生,新式类,经典类
    10.9 类,对象,查找顺序,对象绑定方法
    day 55小结
    day 54小结
    day 53小结
  • 原文地址:https://www.cnblogs.com/zhangrui0328/p/9307182.html
Copyright © 2020-2023  润新知