ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

dbutils

2021-08-14 15:31:28  阅读:200  来源: 互联网

标签:qr Object params QueryRanner sql new dbutils


简介

commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。

作用

该包封装了SQL的执行,是线程安全的。

可以实现增、删、改、查、批处理

考虑事务处理需要用Connection

该类最主要简化了SQL查询,它与ResultSetHandler组合在一起使用可以完成大部分的数据库操作,能够大大减少编码量。

常用方法

操作:update()带事务

  • QueryRanner qr =new QueryRanner();
  • public int update(Connection conn, String sql, Object... params) throws SQLException:用来执行一个更新(插入、更新或删除)操作。

update()无事务

  • QueryRanner qr =new QueryRanner(连接池);
  • public int update(String sql, Object... params) throws SQLException:用来执行一个更新(插入、更新或删除)操作。

查询:query

  • QueryRanner qr =new QueryRanner();
  • public Object query(String sql, ResultSetHandler rsh,Object... params) throws SQLException:执行一个查询操作,在这个查询中,对象数组中的每个元素值被用来作为查询语句的置换参数。该方法会自行处理 PreparedStatement 和 ResultSet 的创建和关闭

注意

  • 该接口用于处理 java.sql.ResultSet,将数据按要求转换为另一种形式。ResultSetHandler 接口提供了一个单独的方法:Object handle (java.sql.ResultSet rs)该方法的返回值将作为QueryRunner类的query()方法的返回值

使用

  • 创建核心类:QueryRanner qr =new QueryRanner();

  • 执行命令

    • int update = qr.update(connection,sql,params); // 执行增删改
    • T t = qr.query(connection,sql,new BeanHandler,params);
      BeanHandler:将一条数据封装的成一个对象
    • List t = qr.query(connection,sql,new BeanListHandler,params);
      BeanListHandler:将每一条数据封装成一个对象,将多个对象装到一个集合中
    • Object t = qr.query(connection,sql,new ScalerHandler,params);
      ScalarHandler:使用聚合统计最大值最小值总数..使用

项目目录三层结构

表示层(JSP)

  • 表现层也称为界面层,位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。

业务层(service)

  • 业务层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。
  • 由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。

持久层(DAD)

  • 持久层,有时候也称为是数据访问层,其功能主要是负责数据库的访问,可以访问数据库系统

通用DAO封装

概念

  • Data Access Object访问数据信息的类和接口,包括了对数据的CRUD(Create、Retrival、Update、Delete),而不包含任何业务相关的信息
  • 一个xxxDao对应xxx表的增删改查
  • 一个xxxService对应xxx实体的业务

作用

  • 为了实现功能的模块化,更有利于代码的维护和升级。

标签:qr,Object,params,QueryRanner,sql,new,dbutils
来源: https://www.cnblogs.com/chenglong0201/p/15140910.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有