基本的类的关系和操作流程;

最终的替换的流程;

Java与SQL对应数据类型转换表

ResultSet与ResultSetMetaData

  1. PreparedStatement 的 executeQuery() 方法,查询结果是一个ResultSet 对象
  2. ResultSet 返回的实际上就是一张数据表。有一个指针指向数据表的第一条记录的前面。
  3. ResultSet 对象维护了一个指向当前数据行的游标,初始的时候,游标在第一行之前,可以通过 ResultSet 对象
    的 next() 方法移动到下一行。调用 next()方法检测下一行是否有效。若有效,该方法返回 true,且指针下移。
    相当于Iterator对象的 hasNext() 和 next() 方法的结合体。
  4. 指针指向一行时, 可以通过调用 getXxx(int index) 或 getXxx(int columnName) 获取每一列的值。
  5. 注意:操作数据库都是索引是从1开始的;
  6. ResultSet 接口的常用方法:
    boolean next()
    getString()
  7. 可用于获取关于 ResultSet 对象中列的类型和属性信息的对象
    ResultSetMetaData meta = rs.getMetaData();(rs是ResultSet)
    getColumnName(int column):获取指定列的名称
    getColumnLabel(int column):获取指定列的别名
  8. 总结:. 1,如何获取 ResultSetMetaData: 调用 ResultSet 的 getMetaData() 方法即可
    2. 获取 ResultSet 中有多少列:调用 ResultSetMetaData 的 getColumnCount() 方法
    3. 获取 ResultSet 每一列的列的别名是什么:调用 ResultSetMetaData 的getColumnLabel() 方法

总结:

两种思想
面向接口编程的思想
ORM思想(object relational mapping)
一个数据表对应一个java类
表中的一条记录对应java类的一个对象
表中的一个字段对应java类的一个属性
sql是需要结合列名和表的属性名来写。注意起别名。

数据库连接池druid的使用

1,DataSource

DataSource用来取代DriverManager来获取Connection,获取速度快,同时可以大幅度提高数据库访问速

数据源和数据库连接不同,数据源无需创建多个,它是产生数据库连接的工厂,因此整个应用只需要一个数据源即可。(一个DataSource)

常见的类和接口:

1,DruidDataSourceFactory

方法:createDataSourse(propertise);通过加载配置文件来获取数据源;

2,ResultSetHander接口;

用来处理数据查询到的结果集;他的子类来实现;

3,QueryRunner

update()和query()操作;

更新:插入,删除,更新;

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

查询:

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

4,DbUtils

closeQuietly(…)关闭的操做;

5, ResultSetHandler接口及实现类

BeanHandler:将结果集中的第一行数据封装到一个对应的JavaBean实例中

BeanListHandler:将结果集中的每一行数据都封装到一个对应的JavaBean实例中,存放到List里。

scalar:adj.标量的;数量的;梯状的,分等级的

n.[数] 标量;[数] 数量

ScalarHandler:查询单个值对象

德鲁伊常见的一些类

jdbc与德鲁伊的简单学习;相关推荐

  1. SQL Server中的锁的简单学习

    原文:SQL Server中的锁的简单学习 简介 在SQL Server中,每一个查询都会找到最短路径实现自己的目标.如果数据库只接受一个连接一次只执行一个查询.那么查询当然是要多快好省的完成工作.但 ...

  2. [Python学习]PycURL简单学习 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source …...

    [Python学习]PycURL简单学习 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source - [Python学习] ...

  3. JavaScript学习笔记04【高级——DOM和事件的简单学习、BOM对象】

    w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...

  4. 表盘时针的html代码,html5画布操作的简单学习-简单时钟

    html5画布操作的简单学习-简单时针 效果图 一.什么是 Canvas? HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像. 画布是一个矩形区域,您可以控制其每一像素. ...

  5. QuickSkin简单学习--控制结构

    QuickSkin简单学习 3.控制结构 if if ... endif 结构帮助模板的条件选择. QuickSkin支持和PHP相同的操作符. 比较操作符, 作为名称暗示,允许你比较两个值. 可以是 ...

  6. PL/SQL编程的简单学习

    PL/SQL简单学习 1.PL/SQL块的组成部分: ① 声明部分:该部分包含了变量和常量的定义,以及变量和常量的初始值定义,这部分由关键字declare开始,如果PL/SQL块中不需要声明变量或常量 ...

  7. 使用JDBC来实现一个简单的增删改查

    使用jdbc来实现一个简单的增删改查 package com.database;import java.sql.Connection; import java.sql.PreparedStatemen ...

  8. php get 传循环出来的参数_简单学习PHP中的反射

    和Java一样PHP中也提供了一套完整的反射API,何为反射?以前我们是先写类,再在类中添加各种方法和属性,最后实例化一个类对象调用属性和方法.那有我们没有办法只通过这个实例对象获取到关于这个类的全部 ...

  9. day006bootstrap的简单学习 + 轮播图

    任务1:bootstrap的简单学习 <!DOCTYPE html> <html lang="zh-CN"> <head><meta ch ...

最新文章

  1. Nginx — Overview
  2. Omi框架学习之旅 - 插件机制之omi-touch 及原理说明
  3. Hadoop官网的一个WordCount程序
  4. GDCM:检查二个dicom文件的BigEndian错误的测试程序
  5. 代码整洁之道-对象和数据结构
  6. 程序设计模式浅析(plain framework商业版设计模式)
  7. hive数据的导入导出方式
  8. 本地jupyter notebook远程连接服务器
  9. matlab控制图像的边界(margin),subplot的间距(gap)
  10. Homebrew安装gcc:curl: (60) SSL certificate problem: certificate has expired
  11. Hadoop学习笔记三
  12. 沉浮二十载,奥飞成也萧何败也萧何?
  13. cdr三角形转化为圆角_cdr怎么把直角变成圆角
  14. sophix热修复技术了解
  15. typecho图片插件_typecho插件:HighSlide文章弹窗相册插件
  16. 服务器显卡驱动重装系统,windows7旗舰版系统重装显卡驱动的方法
  17. 操作系统课程设计1_Linux系统
  18. php多级分栏,网页设计中分栏布局的几种实现方案
  19. 对待金融创新,央行应持更开明态度
  20. iOS —— SQLite3 功能使用详解 (三)

热门文章

  1. 一个模型击溃12种AI造假,各种GAN与Deepfake都阵亡 | 伯克利Adobe新研究
  2. 基于Java的仓库管理系统的研究与实现
  3. 2020.3网易互娱游戏客户端开发面试
  4. 软件需求管理用例方法 pdf_杭州2020年1月45日软件需求设计方法学全程实例剖析公开课(总第262期)...
  5. v2ary 添加多个用户id
  6. 基于pyqt的绘制动态matplotlib曲线
  7. 火狐foxyproxy + burp
  8. QML Component
  9. 【进击的技术er】草帽计划,我和小伙伴一起乘风破浪
  10. Oracle- (ORA-28001: the password has expired)