# 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. python 嵌套列表

  2. DRDS 数据恢复重磅发布,全方位保障您的数据安全

    背景介绍 数据库存储着企业的核心数据,在企业中占据非常重要的位置,一旦出现SQL注入,数据误删的情况,影响的不仅仅是业务,还会泄露用户的个人信息.因此,数据库的数据安全问题十分重要. 当数据库迁移到云 ...

  3. FastReport模板设计和调用

    FastReport是功能齐全的报表控件,使开发者可以快速并高效地为·NET/VCL/COM/ActiveX应用程序添加报表支持.最近一个项目就涉及到了FastReport报表的应用.这里简单记录下( ...

  4. Laravel如何引用第三方(自定义)库

    想做一个网页抓取的功能,底层使用php的laravel框架. 这里使用phpQuery库来实现网页抓取,这里不做介绍. 需要了解的可以百度,或者等我填坑. 下载最新版本可以前往https://code ...

  5. SVN的使用与教程

    1.先下载SVN安装包 SVN安装教程

  6. HDU-6703-array-2019CCPC选拔赛

    我TM真是一个弟弟... 题意: 给出一串1-N的数字 你每次可以把某个位置的值+1000000 或者找一个值,所有a[1]...a[r]序列的数都不能等于这个值,并且这个值>w 当时比赛觉得肯 ...

  7. 使用colab平台进行训练

    https://www.zhongxiaoping.cn/2018/12/01/%E4%BD%BF%E7%94%A8colab%E5%B9%B3%E5%8F%B0%E8%BF%9B%E8%A1%8C% ...

  8. pytorch之expand,gather,squeeze,sum,contiguous,softmax,max,argmax

    目录 gather squeeze expand sum contiguous softmax max argmax gather torch.gather(input,dim,index,out=N ...

  9. axios 跨域

    {     headers:{"Content-Type":"application/x-www-form-urlencoded;charset=utf-8"} ...

  10. Vue打包文件放在服务器,浏览器存在缓存问题的解决

    在入口文件index.html添加 <meta http-equiv="pragram" content="no-cache"> <meta ...