上午
JDBC
- 作用:通过java操作数据库
- 解耦:JDBC规范(接口)(DB2,sqlserver,Oracle,mysql,maridb)
JDBC HelloWorld
- 导包
- 注册驱动
- 建立连接
- 获取语句执行对象
- 获取ResultSet
- 解析结果
- 关闭资源
协议
什么情况会触发类加载
- new
- 使用静态方法
- 加载子类的时候父类被加载
DriverManager(驱动管理器,Driver驱动,Manager管理者)
-
加载驱动
- 作用:告诉JDBC真正的JDBC规范实现类是谁
//告诉JDBC真正的JDBC规范实现类是谁 DriverManager.registerDriver(new Driver());
-
获取去连接
- ip (ping ip)
- 端口 (netstat -ant | grep 端口)
- 用户名和密码
Connetion(连接)
- 创建Statement对象
- 管理事务(ACID)
- 原子性 A
- 一致性 C
- 隔离性 I
- 持久性 D
Statement(语句)
- 封装SQL语句
- 执行SQL语句
- DML:结果为int
- DQL:ResultSet
ResultSet
-
存储结构
List<Map<String, Object>>
class ResultSet { List<Map<String, Object>> data; int p = 0; Map<String, Object> curData; public boolean next() { if (p > data.size()) return false; p++; curData = data.get(p)