已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京传智播客教育 DBUtils框架 讲师 赵君 北京传智播客教育 Tip 元数据 DataBaseMetaData 元数据 数据库 表 列的定义信息 Connection getDatabaseMetaData DataBaseMetaData对象getURL 返回一个String类对象 代表数据库的URL getUserName 返回连接当前数据库管理系统的用户名 getDatabaseProductName 返回数据库的产品名称 getDatabaseProductVersion 返回数据库的版本号 getDriverName 返回驱动驱动程序的名称 getDriverVersion 返回驱动程序的版本号 isReadOnly 返回一个boolean值 指示数据库是否只允许读操作 北京传智播客教育 Tip 元数据 ParameterMetaData PreparedStatement getParameterMetaData 获得代表PreparedStatement元数据的ParameterMetaData对象 ParameterMetaData对象getParameterCount 获得指定占位符 参数的个数 北京传智播客教育 Tip 元数据 ResultSetMetaData ResultSet getMetaData 获得代表ResultSet对象元数据的ResultSetMetaData对象 ResultSetMetaData对象getColumnCount 返回resultset对象的列数getColumnName intcolumn 获得指定列的名称getColumnTypeName intcolumn 获得指定列的类型 Types类 北京传智播客教育 Tip 使用元数据简化JDBC代码 业务背景 系统中所有实体对象都涉及到基本的CRUD操作 所有实体的CUD操作代码基本相同 仅仅发送给数据库的SQL语句不同而已 因此可以把CUD操作的所有相同代码抽取到工具类的一个update方法中 并定义参数接收变化的SQL语句 思考 那R操作如何简化呢 看DBUtils框架的做法 北京传智播客教育 Tip O RMapping简介 什么是O RMapping常用O RMapping映射工具Hibernate 全自动框架 Ibatis 半自动框架 SQL CommonsDbUtils 只是对JDBC简单封装 北京传智播客教育 Apache DBUtils框架简介 commons dbutils是Apache组织提供的一个开源JDBC工具类库 它是对JDBC的简单封装 学习成本极低 并且使用dbutils能极大简化jdbc编码的工作量 同时也不会影响程序的性能 因此dbutils成为很多不喜欢hibernate的公司的首选 API介绍 mons dbutils QueryRunner 类 mons dbutils ResultSetHandler 接口 工具类mons dbutils DbUtils 北京传智播客教育 QueryRunner类 该类简单化了SQL查询 它与ResultSetHandler组合在一起使用可以完成大部分的数据库操作 能够大大减少编码量 QueryRunner类提供了两个构造方法 默认的构造方法需要一个javax sql DataSource来作参数的构造方法 北京传智播客教育 QueryRunner类的主要方法 publicObjectquery Connectionconn Stringsql Object params ResultSetHandlerrsh throwsSQLException 执行一个查询操作 在这个查询中 对象数组中的每个元素值被用来作为查询语句的置换参数 该方法会自行处理PreparedStatement和ResultSet的创建和关闭 publicObjectquery Stringsql Object params ResultSetHandlerrsh throwsSQLException 几乎与第一种方法一样 唯一的不同在于它不将数据库连接提供给方法 并且它是从提供给构造方法的数据源 DataSource 或使用的setDataSource方法中重新获得Connection publicObjectquery Connectionconn Stringsql ResultSetHandlerrsh throwsSQLException 执行一个不需要置换参数的查询操作 publicintupdate Connectionconn Stringsql Object params throwsSQLException 用来执行一个更新 插入 更新或删除 操作 publicintupdate Connectionconn Stringsql throwsSQLException 用来执行一个不需要置换参数的更新操作 北京传智播客教育 ResultSetHandler接口 该接口用于处理java sql ResultSet 将数据按要求转换为另一种形式 ResultSetHandler接口提供了一个单独的方法 Objecthandle java sql ResultSet rs 北京传智播客教育 ResultSetHandler接口的实现类 BeanHandler 将结果集中的第一行数据封装到一个对应的JavaBean实例中 BeanListHandler 将结果集中的每一行数据都封装到一个对应的JavaBean实例中 存放到List里 ArrayHandler 把结果集中的第一行数据转成对象数组 ArrayListHandler 把结果集中的每一行数据都转成一个对象数组 再存放到List中 北京传智播客教育 ResultSetHandler接口的实现类 MapHandler 将结果集中的第一行数据封装到一个Map里 key是列名 value就是对应的值 MapListHandler 将结果集中的每一行数据都封装到一个Map里 然后再存放到List ScalarHandler 结果集中只有一行一列数据 北京传智播客教育 DbUtils类 DbUtils 提供如关闭连接 装载JDBC驱动程序等常规工作的工具类 里面的所有方法都是静态的 主要方法如下 publicstaticvoidclose throwsjava sql SQLException DbUtils类提供了三个重载的关闭方法 这些方法检查所提供的参数是不是NULL 如果不是的话 它们就关闭Connection Statement和ResultSet publicstaticvoidcloseQuietly 这一类方法不仅能在Connection Statement和ResultSet为NULL情况下避免关闭 还能隐藏一些在程序中抛出的SQLException publicstaticvoidcommitAndCloseQuietly Connectionconn 用来提交连接 然后关闭连接 并且在关闭连接时不抛出SQL异常 publicstaticbooleanloadDriver java lang Stringdriv
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年施工安全监督合同
- 2026年三甲医院重症监护室设备集群维保合同
- 广东省中药材出口现状、问题及竞争力分析
- 2025-2030中国企业基金会ESG实践与可持续发展能力分析报告
- 房屋租赁合同范本术语
- 2026基因治疗CDMO市场竞争格局与商业模式创新分析报告
- 2026基因检测数据安全管理与隐私保护合规发展报告
- 2026基因检测在司法鉴定领域的技术规范化发展分析
- 2026危险货物多式联运网络优化与风险控制研究
- 2026中国肿瘤早筛试剂盒市场教育策略与终端覆盖模式研究报告
- 销售技巧培训(酒店餐饮)课件
- 2022年河北省普通高中学业水平合格性考试语文试题(解析版)
- 点亮生命-大学生职业生涯发展与就业指导全套教学课件
- 驾校教练员安全培训
- 《意象对话技术》课件
- 动静脉内瘘的评估
- 珠海科技学院辅导员考试试题2023
- 内浮顶储罐施工方案
- 场车安全总监职责
- 二类固废填埋场可研7.16
- 作业中断管理规定
评论
0/150
提交评论