# 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语句编写一般建议大家大写。