JDBC 学习笔记(三)—— JDBC 常用接口和类,JDBC 编程步骤
1. JDBC 常用接口和类
- DriverManager
负责管理 JDBC 驱动的服务类,程序中主要的功能是获取连接数据库的 Connection 对象。
- Connection
代表一个数据库连接对象,要访问数据库,首先需要获得数据库连接。
同时,Connection 接口提供了获取执行 SQL 语句的 Statement 和 PreparedStatement 对象,以及控制事物(Transaction)的方法。
- Statement
用于执行 SQL 语句的接口,同时支持执行 DDL(Data Definition Language),DCL(Data Control Language),DML(Data Manipulation Language)语句。
我们常用的 CRUD 操作是 DML 语句。
- PreparedStatement
Statement 的子接口,代表一个预编译的 Statement 对象。
所谓预编译,就是事先将 SQL 传入到 PreparedStatement 对象中,不必每一次在执行的时候加载 SQL 语句,所以在性能上会有所提高。
常用来执行带参数的 SQL 语句。
- ResultSet
SQL 语句执行后的结果集对象。
当 Statement 或者其子接口,执行的是一个查询的 DML 语句,其返回就会是一个 ResultSet 对象。
ResultSet 中包含访问查询结果的方法。
2. JDBC 编程步骤
通过以上介绍的 JDBC API,可以大致得知 JDBC 的编程步骤:
- 加载数据库驱动。
- 通过 DriverManager 获取数据库连接 Connection。
- 通过 Connection 对象创建 Statement 对象(Statement,PreparedStatement,CallableStatement)。
- 外部传入 SQL 语句,使用 Statement 执行 SQL。
- 如果 SQL 是一个查询语句,操作结果集 ResultSet。
- 回收数据库资源(实现 Closeable/AutoCloseable 的 Connection,Statement 和 ResultSet)。
JDBC 学习笔记(三)—— JDBC 常用接口和类,JDBC 编程步骤的更多相关文章
- Java基础学习笔记(三) - 抽象类和接口
一.抽象类 没有方法主体的方法称为抽象方法,包含抽象方法的类就是抽象类. Java中使用 abstract 关键字修饰方法和类,抽象方法只有一个方法名,没有方法体. public abstract c ...
- JDBC学习笔记(三)
获取数据库的元信息metadata,里面有数据库特性的描述信息,如是否支持事务,是否支持批处理等. Connection conn = DriverManager.getConnection(url, ...
- MySQL学习笔记(三):常用函数
一:字符串函数 需要注意的几个细节: 1.cancat中有一个字符串为null,则结果为null. 2.left(str,x) 和 right(str,x)中x为null,则不返回任何字符串,不是nu ...
- Google Analytics 学习笔记三 —— GA常用术语
一.Sessions 1.会话,指定的时间段内在网站上发生的一系列互动,例如一次会话可以是网页浏览.事件或电子商务等.参考Google Analytics(分析)如何定义网络会话 2.会话结束的方式分 ...
- Hibernate学习笔记三:常用数据库操作语句
转载请注明原文地址: 一:HQL 1:HQL语句格式:select from POJO类名 where 条件表达式 group by 属性 having 聚集函数 order by 属性 [其中,fr ...
- spring学习笔记三:Component注解(把POJO类实例化到spring的IOC容器中)
Component注解:把普通的POJO 类实例化到spring的IOC容器中,就是定义成<bean id="" class=""> 项目目录树: ...
- qml学习笔记(二):可视化元素基类Item详解(上半场anchors等等)
原博主博客地址:http://blog.csdn.net/qq21497936本文章博客地址:http://blog.csdn.net/qq21497936/article/details/78516 ...
- JDBC 学习笔记(十一)—— JDBC 的事务支持
1. 事务 在关系型数据库中,有一个很重要的概念,叫做事务(Transaction).它具有 ACID 四个特性: A(Atomicity):原子性,一个事务是一个不可分割的工作单位,事务中包括的诸操 ...
- JDBC学习笔记二
JDBC学习笔记二 4.execute()方法执行SQL语句 execute几乎可以执行任何SQL语句,当execute执行过SQL语句之后会返回一个布尔类型的值,代表是否返回了ResultSet对象 ...
随机推荐
- checkbox绑定v-for的数据
简述自己遇到的问题,觉得合适就拿去用 我在使用v-for遍历checked复选框数据的时候,数据分为两部分,一个主活动,主活动下面有多个子活动 我实体类的设计是里面加个list放子活动, 页面循环需要 ...
- Kafka 完全分布式集群环境搭建
思路: 先在主机s1上安装配置,然后远程复制到其它两台主机s2.s3上, 并分别修改配置文件server.properties中的broker.id属性. 1. 搭建前准备 示例共三台主机,主机IP映 ...
- 在ubuntu中用命令安装iperf
Iperf的安装要换成阿里的源 sudo add-apt-repository "ppa:patrickdk/general-lucid" sudo apt-get update ...
- javaweb基础(9)_Servlet生成验证码图片
一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类,如下:
- MFC里 显示设备上下文CClient dc(this) 和 CPaintDC dc(this)
1 CPaintDC类(1)CPaintDC类是CDC类的一个派生类,该类一般用在响应WM_PAINT消息的函数OnPaint()中.(2)WM_PAINT消息是当窗口的某个区域需要重画时激发的窗口消 ...
- 看了下opengl相关的资料,踩了一个坑,记录一下
2019/03/10 下午看了下关于opengl的资料,然后把敲了下代码,然后程序报错了.代码如下: #include <glad/glad.h> #include <GLFW/gl ...
- 洛谷 P5015 标题统计
第一道题很简单,标签:字符串.模拟. 只需要一个判断去除空格就对了: if(a[i]!=' ' && a[i]!='\n') v++; code: #include<iostre ...
- 【主席树 启发式合并】bzoj3123: [Sdoi2013]森林
小细节磕磕碰碰浪费了半个多小时的时间 Description Input 第一行包含一个正整数testcase,表示当前测试数据的测试点编号.保证1≤testcase≤20. 第二行包含三个整数N,M ...
- Linux-Mysql8.0
Mysql8.0.12 基本操作 解释 命令 安装服务端 yum install mysql-community-server 启动 service mysqld start/restart 停止 s ...
- Unbuntu18.04如何备份
以后可能用的到:https://blog.csdn.net/qq_35523593/article/details/78545530