JDBC URL 的创建
JDBC URL:后端数据库的唯一标识符。
jdbc:子协议,并且载入服务器的主机名、端口、数据库名(或引用)。
jdbc:mysql://10.164.172.20:3306/cloud_study
- jdbc 协议,固定不变的
- mysql 子协议,DriverManager 确定数据库驱动
- 10.164.172.20:3306/cloud_study 子名称部分
- 10.164.172.20 主机
- 3306 数据库端口号
- cloud_study 数据库 database
常用的三种 jdbc url 创建
jdbc:mysql://<ip>:<port>/database
jdbc:oracle:thin:@<ip>:<port>:database
jdbc:microsoft:sqlserver://<ip>:<port>;DatabaseName=database
JDBC API
image.png- JDBC Driver 通过 Class.forName 向 DriverManager 加载数据库驱动;
- DriverManager 的 getConnection 方法建立一条到后端数据库的物理连接;
- Connection 对象创建通过 createStatement 方法创建一个或者多个 Statement 对象;
- statement 对象执行 sql 语句,返回 ResultSet 对象或者 int 对象;
Statement 对象相当于 sql 容器;可以承载 sql 语句;并通过 executeQuery 执行查询语句,返回一个 ResultSet 对象。execute 执行删语句,executeUpdate 执行更新语句 返回一个 int 对象;
statement API
1. execute(String sql):执行SQL 删语句,如果返回值是结果集则为true,否则为false
2. executeQuery(String sql):执行SQL 查询语句,返回值为ResultSet
3. executeUpdate(String sql):执行SQL 更新语句,返回值为所影响的行数
4. addBatch(String sql):向当前Statement对象的命令列表中添加新的批处理SQL语句
5. clearBatch():清空当前Statement对象的命令列表
6. executeBatch():执行当前Statement对象的批处理语句,返回值为每个语句所影响的函数数组
7. getConnection():返回创建了该Statement对象的Connection对象
8. getQueryTimeout():获取等待处理结果的时间
9. setQueryTimeout():设置等待处理结果的时间
ResultSet API
ResultSet 对象代表了 sql 查询的一个结果,所以 ResultSet 对象的内容其实是一张二元表。
1. first()/beforeFirst():将游标移动到ResultSet中第一条记录(的前面,通过 next() 方法返回第一条记录位置)
2. last()/afterLast():将游标移动到ResultSet中最后一条记录(的后面,通过 previous() 方法返回第一条记录位置)
3. absolute(int column):将游标移动到相对于第一行的指定行,负数则为相对于最后一条记录
4. relative(int rows):将游标移动到相对于当前行的第几行,正为向下,负为向上
5. next():将游标下移一行
6. previous():将游标上移一行
7. insertRow():向当前ResultSet和数据库中被插入行处插入一条记录
8. deleteRow():将当前ResultSet中的当前行和数据库中对应的记录删除
9. updateRow():用当前ResultSet中已更新的记录更新数据库中对应的记录
10. cancelUpdate():取消当前对ResultSet和数据库中所做的操作
11. findColumn(String columnName):返回当前ResultSet中与指定列名对应的索引
12. getRow():返回ResultSet中的当前行号
13. refreshRow():更新当前ResultSet中的所有记录
14. getMetaData():返回描述ResultSet的ResultSetMetaData对象
15. isAfterLast(): 是否到了结尾
16. isBeforeFirst(): 是否到了开头
17. isFirst():是否第一条记录
18. isLast(): 是否最后一条记录
19. wasNull():检查列值是否为NULL值,如果列的类型为基本类型,且数据库中的值为0,那么这项检查就很重要。由于数据库NULL也返回0,所以0值和数据库的NULL不能区分。如果列的类型为对象,可以简单地将返回值与null比较
20. close():关闭当前ResultSet
网友评论