JDBC是什么?

  1.java Database Connectivity:java访问数据库的解决方案;

  2.用相同的方式访问不同的数据库,以实现与具体数据库无关的java操作界面;

  3.JDBC定义一套标准接口,即访问数据库的通用API,不同的数据库厂商根据各自数据库的特点去实现这些接口;

JDBC接口及数据库厂商实现:

  · 驱动管理     DriverManager  

  · 链接接口   Connection  ,DatabaseMetaData

  · 语句对象接口 Statement,  PreparedStatement,  CallableStatement

  · 结果集接口  ResultSet,  ResultSetMetaDate

JDBC使用步骤:
* 1.导入JDBC驱动jar;
* 2.注册JDBC驱动:
  - 参数:驱动程序类名
  - Class.forName("驱动程序类名")
* 3.获得Connertion对象:
   - 需要3个参数:url、username、password
   - 链接到数据库
* 4.创建Statement(语句)对象:
     - conn.createStatement()方法创建对象
  - 用于执行sql语句
  - execut(ddl)执行任何sql,常用于执行DDL
  - executeUpdate(dml)执行DML语句,如:insert、update、delete
  - executeQuery(dql)执行DQL语句,如:selest
* 5.处理sql执行结果:
  - execute(ddl)如果没有异常则成功;
       - executeUpdate(dml) 返回数字,表示更新"行"数量,报出异常则失败;
  - executeQuery(dql)返回ResultSet(结果集)对象,代表2维查询结果,使用for遍历处理,如果查询失败报出异常;
* 6.关闭数据连接!

##  处理结果集 ResultSet :

  ResultSet 代表DQL查询结果,是2维结果,其内部维护了一个读取数据的游标,默认情况在,游标在第一行数据之前,当调用next()方法时候,

游标会向下移动,并将返回结果集中是否包含数据,如果包含数据就返回true,结果集还提供了很好get方法用于获取结果集游标指向当前行数据;

## xx.net() 检查是否有行;

## 管理数据库连接:

  在软件中数据库连接使用非常频繁,如果每次都创建连接,就会造成代码的大量亢(kang)余,常规做法是建立数据链接工具类,封装数据库连接过程,

统一数据库连接过程,使用时候就可以简化代码;

JDBC 数据库连接池

  数据库连接池是管理并发访问数据库的理想解决方案;DriverManager管理数据库连接适合单线程使用,而在多线程并发情况下,

为了能够重用数据库连接,同时控制并发连接总数,保护数据库避免连接过载,一定要使用数据库连接池;

连接池原理:

###使用DBCP连接池

数据库连接池的开源实现非常多,DBCP是常用的连接池之一;

待续.....

[03-01]JDBC基础的更多相关文章

  1. 086 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 03 面向对象基础总结 01 面向对象基础(类和对象)总结

    086 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 03 面向对象基础总结 01 面向对象基础(类和对象)总结 本文知识点:面向对象基础(类和对象)总结 说明 ...

  2. 071 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 03 综合案例-数组移位-显示数组当中所有元素的的方法

    071 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 03 综合案例-数组移位-显示数组当中所有元素的的方法 本文知识点:综合案例-数组移位-显示数组当中所有元素 ...

  3. 056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用

    056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用 本文知识点:数组的实际应用 程序开发中如何应用数组? 程序代码及其运行结果: 不同数据类 ...

  4. 041 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 03 案例演示while循环的使用——求1到5的累加和

    041 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 03 案例演示while循环的使用--求1到5的累加和 本文知识点:案例演示while循环的使用1 ...

  5. 036 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 03 嵌套if结构

    036 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 03 嵌套if结构 本文知识点:Java中的嵌套if结构 什么是嵌套if结构? 概念: 嵌套if结构 ...

  6. 033 01 Android 零基础入门 01 Java基础语法 03 Java运算符 13 运算符和表达式知识点总结

    033 01 Android 零基础入门 01 Java基础语法 03 Java运算符 13 运算符和表达式知识点总结 本文知识点:运算符和表达式知识点总结 前面学习的几篇文都是运算符和表达式相关的知 ...

  7. 032 01 Android 零基础入门 01 Java基础语法 03 Java运算符 12 运算符和if-else条件语句的综合案例——闰年问题

    032 01 Android 零基础入门 01 Java基础语法 03 Java运算符 12 运算符和if-else条件语句的综合案例--闰年问题 本文知识点:运算符和if-else条件语句的综合案例 ...

  8. 031 01 Android 零基础入门 01 Java基础语法 03 Java运算符 11 运算符的优先级

    031 01 Android 零基础入门 01 Java基础语法 03 Java运算符 11 运算符的优先级 本文知识点:Java中运算符的优先级 运算符的优先级问题 前面学习了很多的运算符,如果这些 ...

  9. 030 01 Android 零基础入门 01 Java基础语法 03 Java运算符 10 条件运算符

    030 01 Android 零基础入门 01 Java基础语法 03 Java运算符 10 条件运算符 本文知识点:Java中的条件运算符 条件运算符是Java当中唯一一个三目运算符 什么是三目运算 ...

  10. 029 01 Android 零基础入门 01 Java基础语法 03 Java运算符 09 逻辑“非”运算符

    029 01 Android 零基础入门 01 Java基础语法 03 Java运算符 09 逻辑"非"运算符 本文知识点:Java中的逻辑"非"运算符 逻辑& ...

随机推荐

  1. 使用tablayout和recyclerview的时候,报重复添加Fragment错误

    原因: 在添加的子Fragment报错了, 出现了空值错误, 此时报出来错误是前一个Fragment重复添加

  2. if 语句中的判断

    经常写shell的朋友可能已经很熟了.有不同意见的同学请指出来,在这里多谢大家了. bash中如何实现条件判断?条件测试类型:    整数测试    字符测试    文件测试 一.条件测试的表达式: ...

  3. setTimeout 第三个参数秒懂

    好吧,假设你们都是从 ES6 里 promise 发现 setTimeout 还有第三个参数的,下面讲讲到底是干嘛的 setTimeout 第三个及之后的参数作用:定时器启动时候,第三个以后的参数是作 ...

  4. 【Hibernate】Unable to locate appropriate constructor on class原因分析

    通常我们喜欢将hql查询结果封装到POJO对象syntax:select new POJO(id,name) from POJO ; 这种封装需要POJO类提供对应构造器,POJO(id,name)构 ...

  5. 关于PHP上传文件时配置 php.ini 中的 upload_tmp_dir

    在<PHP 5.3 入门经典>9.6.3 的试一试中(P235),给出了一个上传文件的例子,这里的文件格式为jpeg图片(image/jpeg).如果之前未配置 php.ini 中的 up ...

  6. matplotlib学习笔记

    1.简介 matplotlib是python的一个2D绘图库,它可以在不同平台上地使用多种通用的绘图格式(hardcopy formats)和交互环境绘制出出版物质量级别的图片.matplotlib可 ...

  7. SSH阅读笔记

    1.SSH单阶人脸段检测器,在不同层检测不同scale的人脸,而不是使用mtcnn中金字塔的方式,从而实现加速. 2.SSH的整体结构,3个module的stride分别为8,16,32,使用不同的感 ...

  8. 用echarts写的multiple-trees demo

    echarts-multiple-trees 预览https://zhangzn3.github.io/echarts-multiple-trees/demo.html //根据数据条数自适应区域大小

  9. 12、Grafan 4.3升级到Grafana 5.0

    Upgrading Grafana 升级Grafana We recommend everyone to upgrade Grafana often to stay up to date with t ...

  10. java实现http请求

    String apiUrl = "https://api.seniverse.com/v3/weather/now.json?key=" + key + "&lo ...