# JDBC

## 1:What?
通过Java代码来操作数据库的。
数据库的种类很多,导致不同的数据库的操作方式是不同。
通过JDBC的标准完成。通过java语言完成对于数据库的CRUD. ## 2: Where?
但凡只要和数据库沟通,你的后台语言是Java。就需要使用JDBC.
## 3: Why?
​ 统一规范,简化程序员开发流程。
## 4: How?
### 4-1: 简单的JDBC代码实现
#### 4-1-1:导入jar包且build path加入到环境中 ![1557553132205](C:\Users\wawjy\AppData\Roaming\Typora\typora-user-images\1557553132205.png) #### 4-1-2:编写注释 ```
1: 加载驱动
2:获取连接对象
3:获取Statement对象
4:声明SQL语句
5:发送SQL语句获取结果集合
6:迭代结果集/分析结果集
7:关闭资源 ``` #### 4-1-3:编写代码 ```java
//1:加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2:声明连接
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
//3:获取连接
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/note",
"root",
"root");
//4:获取statement对象
stmt = conn.createStatement(); //5:声明sql语句
String sql = "SELECT * FROM TB_USER"; //6:发送sql语句获取结果集
rs = stmt.executeQuery(sql); //7:分析结果集
while(rs.next()) {
System.out.println(rs.getInt(0));
} } catch (SQLException e) {
e.printStackTrace();
}finally {
//关闭资源
try {
if(rs!=null)
rs.close();
if(stmt!=null)
stmt.close();
if(conn!=null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
```
##### 结论
* 1:查询语句得到的是结果集合。(读操作 SELECT)
* 2:针对于结果集,获取元素使用结果集对象.getXXX(列明/索引)。 XXX:对应查询的结果的数据类型;列名是数据库的列名,索引是从1开始
* 3:加载驱动时会自动将Mysql的驱动注册到Java的驱动管理中。(DriverManager)
* 4:SQL语句编写一般建议大家大写。

JDBC 详解笔记的更多相关文章

  1. Spring4 JDBC详解

    Spring4 JDBC详解 在之前的Spring4 IOC详解 的文章中,并没有介绍使用外部属性的知识点.现在利用配置c3p0连接池的契机来一起学习.本章内容主要有两个部分:配置c3p0(重点)和 ...

  2. JDBC详解系列(二)之加载驱动

    ---[来自我的CSDN博客](http://blog.csdn.net/weixin_37139197/article/details/78838091)---   在JDBC详解系列(一)之流程中 ...

  3. JDBC详解系列(三)之建立连接(DriverManager.getConnection)

      在JDBC详解系列(一)之流程中,我将数据库的连接分解成了六个步骤. JDBC流程: 第一步:加载Driver类,注册数据库驱动: 第二步:通过DriverManager,使用url,用户名和密码 ...

  4. TCP-IP详解笔记8

    TCP-IP详解笔记8 TCP超时与重传 下层网络层(IP)可能出现丢失, 重复或丢失包的情况, TCP协议提供了可靠的数据传输服务. TCP启动重传操作, 重传尚未确定的数据. 基于时间重传. 基于 ...

  5. TCP-IP详解笔记7

    TCP-IP详解笔记7 TCP: 传输控制协议(初步) 使用差错校正码来纠正通信问题, 自动重复请求(Automatic Repeat Request, ARQ). 分组重新排序, 分组复制, 分组丢 ...

  6. TCP-IP详解笔记6

    TCP-IP详解笔记6 用户数据报协议和IP分片 UDP是一种保留消息边界的面向数据报的传输层协议. 不提供差错纠正, 队列管理, 重复消除, 流量控制和拥塞控制. 提供差错检测, 端到端(end-t ...

  7. TCP-IP详解笔记5

    TCP-IP详解笔记5 ICMPv4和ICMPv6: Internet控制报文协议 Internet控制报文协议(Internet Control Message Protocol, ICMP)与IP ...

  8. TCP-IP详解笔记4

    TCP-IP详解笔记4 系统配置: DHCP和自动配置 每台主机和路由器需要一定的配置信息,配置信息用于为系统指定本地名称,及为接口指定标识符(如IP地址). 提供或使用各种网络服务,域名系统(DNS ...

  9. TCP-IP详解笔记3

    TCP-IP详解笔记3 地址解析协议 IP协议的设计目标是为跨越不同类型物理网络的分组交换提供互操作. 网络层软件使用的地址和底层网络硬件使用的地址之间进行转换. 对于TCP/IP网络,地址解析协议( ...

随机推荐

  1. Gym-101623H_High Score

    题意:t组数据,每组数据有abcd四个数,其中d可以加到abc任意一个数上(d可以拆分),求公式a^2 + b^2 + c^2 + 7 * min(a,b,c)的最大值. 题解:首先明确一点,平方的增 ...

  2. jQuery学习笔记之可见性过滤选择器

    可见性过滤选择器是根据元素的可见和不可见状态来选择相应的元素. 显示隐藏的例子: <!DOCTYPE html> <html> <head> <script ...

  3. 2019-2-11-WPF-获取应用的所有窗口

    title author date CreateTime categories WPF 获取应用的所有窗口 lindexi 2019-02-11 08:55:31 +0800 2019-02-11 0 ...

  4. oracle函数 ln(y)

    [功能]返回以e为底的y的对数(e为数学常量) [参数]y,数字型表达式 (条件y>0) [返回]数字 [示例] select exp(3),exp(-3),ln(20.0855369),ln( ...

  5. laravel 增加不存在数据库的字段

    有时候您可能想要增加不存在数据库字段的属性数据.这时候只要定义一个获取器即可: public function getIsAdminAttribute() { return $this->att ...

  6. SuperSocket SuperWebSocket并发数100限制的问题

    var wsSer = new WebSocketServer(); wsSer.NewMessageReceived += wsSer_NewMessageReceived;//有消息传入时事件 w ...

  7. C#的选择语句练习(二)

    1.输入a,b,c三个数,计算一元二次方程ax²+bx+c的根:若a=0,则不是一元二次方程:△=b²-4ac,根的计算公式为-b±√b²-4ac/2a:若△=b²-4ac>0,则方程有两个不一 ...

  8. tf.contrib.layers.xavier_initializer

    https://blog.csdn.net/yinruiyang94/article/details/78354257xavier_initializer( uniform=True, seed=No ...

  9. [转]JavaWeb工程 目录结构

    今天为此事纠结了一段时间. 以下是mavaen推荐的项目目录. ├── pom.xml └── src     ├── main     │   ├── java     │   │   └── my ...

  10. 新手该如何学习JavaScript ?

    JavaScript入门 - 01 准备工作 在正式的学习JavaScript之前,我们先来学习一些小工具,帮助我们更好的学习和理解后面的内容. js代码位置 首先是如何编写JavaScript代码, ...