Dbutils常见方法

小编 2026-06-14 阅读:1519 评论:0
1.mysql jdbc: 复习 是一种规范,规范sum公司制定,使用规范,又实现类数据库厂家,驱动 jdbc操作数据库步骤: 1.导入驱动包 ,加载驱动...

1.mysql

    jdbc: 复习
    是一种规范,规范sum公司制定,使用规范,又实现类数据库厂家,驱动
    jdbc操作数据库步骤:
    1.导入驱动包 ,加载驱动
    2.创建连接对象。需要数据库信息 driver url  username pwd
      配置文件存储数据: 
      a.文件后缀名  .properties 
      b.文件后缀名  .xml   //使用Dbutils框架进行数据库连接操作
  
    3.创建平台对象。
    4.平台对象执行sql语句
    5.获取结果,对结果进行处理
    6.资源释放

2.整合原生的JDBC 操作数据库的能力

    整合3步。

3.提高能力.

  JDBC存在什么问题?
  JDBC操作数据库是没有问题,但是应用到项目开发问题有.
  连接通道不能满足大量用户的并发操作。
  解决方案:
  连接池概念:管理连接通道
  常用的连接池:c3p0
  如: spring
  使用c3p0连接池步骤:
   1. 导入包
   2. 配置信息,url username pwd  driver.
   3. 创建数据源  combopooldatasource
   4. 创建连接通道.

4.main

    junit 单元测试要求: 
    1. 方法必须是公共的,public
    2. 方法返回值  void
    3. 方法名  @Test

5.dbutil框架

使用步骤:
   1. 导入包
   2. 创建对象创建平台对象 queryrunner
3. 执行sql** 
案例:
1。增加数据
2。修改数据
3。删除数据 update(sql,params[])

查询数据 query(sql,handler)
resultsethandler 接口 功能对查询结果的结果进行封装
实现类总个9个:
beanhandler 对查询结果的第一条封装成对应的 javabean
beanlisthandler 对查询结果的每一行封装,存到 list集合
maphandler 对查询结果的第一行封装成map集合
maplisthandler 对查询的结果的每一行封装 map<健,值>
{cid:c001,cname:电视},每一个map集合存到list集合中
scalarhandler 对聚合函数进行封装 sum() count() max() min() avg()

6.c3p0配置xml文件

<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<c3p0-config>
	<!-- 默认配置,如果没有指定则使用这个配置 -->
	<default-config>
		<!-- 基本配置必须的 -->
		<property name=\"driverClass\">com.mysql.jdbc.Driver</property>//驱动
		<property name=\"jdbcUrl\">jdbc:mysql://127.0.0.1:3306/user</property>//url
		<property name=\"user\">root</property>//用户名
		<property name=\"password\">mysql123</property>//密码

		<!-- 数据库连接池一次性向数据库要多少个连接对象 -->
        <property name=\"acquireIncrement\">20</property>
        <!-- 初始化连接数 -->
        <property name=\"initialPoolSize\">10</property>
        <!-- 最小连接数 -->
        <property name=\"minPoolSize\">5</property>
        <!--连接池中保留的最大连接数。Default: 15 -->
        <property name=\"maxPoolSize\">30</property>
        <!--JDBC的标准参数,用以控制数据源内加载的PreparedStatements数量。但由于预缓存的statements 属于单个connection而不是整个连接池。所以设置这个参数需要考虑到多方面的因素。如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default:0 -->
        <property name=\"maxStatements\">0</property>
        <!--maxStatementsPerConnection定义了连接池内单个连接所拥有的最大缓存statements数。Default: 0 -->
        <property name=\"maxStatementsPerConnection\">0</property>
        <!--c3p0是异步操作的,缓慢的JDBC操作通过帮助进程完成。扩展这些操作可以有效的提升性能 通过多线程实现多个操作同时被执行。Default:3 -->
        <property name=\"numHelperThreads\">3</property>
        <!--用户修改系统配置参数执行前最多等待300秒。Default: 300 -->
        <property name=\"propertyCycle\">3</property>
        <!-- 获取连接超时设置 默认是一直等待单位毫秒 -->
        <property name=\"checkoutTimeout\">1000</property>
        <!--每多少秒检查所有连接池中的空闲连接。Default: 0 -->
        <property name=\"idleConnectionTestPeriod\">3</property>
        <!--最大空闲时间,多少秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->
        <property name=\"maxIdleTime\">10</property>
        <!--配置连接的生存时间,超过这个时间的连接将由连接池自动断开丢弃掉。当然正在使用的连接不会马上断开,而是等待它close再断开。配置为0的时候则不会对连接的生存时间进行限制。 -->
        <property name=\"maxIdleTimeExcessConnections\">5</property>
        <!--两次连接中间隔时间,单位毫秒。Default: 1000 -->
        <property name=\"acquireRetryDelay\">1000</property>
        <!--c3p0将建一张名为Test的空表,并使用其自带的查询语句进行测试。如果定义了这个参数那么属性preferredTestQuery将被忽略。你不能在这张Test表上进行任何操作,它将只供c3p0测试使用。Default: null -->
        <property name=\"automaticTestTable\">Test</property>
        <!-- 获取connnection时测试是否有效 -->
        <property name=\"testConnectionOnCheckin\">true</property>
	</default-config> 
</c3p0-config> 
版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

热门文章
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
标签列表