一、概述
作用:为多种关系数据库提供统一访问。
扩展:
二、JDBC使用
1、准备连接MySQL数据库的配置信息
a.用户名
b.密码
c.MySQL数据库的地址: jdbc:mysql://MySQL主机IP/端口号/指定数据库名称
d.MySQL数据库的驱动类:com.mysql.jdbc.Driver(全类名)
2、加载(安装)MySQL数据库的驱动类
利用Class类的forName(全类名)
补充:如果运行当前程序,报错了的原因:
a.没有导入MySQL的驱动包
b.MySQL数据库的驱动类定义错误
3、获取MySQL数据库的连接对象
3.1、利用DriverManager类获取MySQL数据库的连接对象
DriverManager:管理一组 JDBC 驱动程序的基本服务。
static Connection |
getConnection(String url) 试图建立到给定数据库 URL 的连接。 |
static Connection |
getConnection(String url, Properties info) 试图建立到给定数据库 URL 的连接。 |
static Connection |
getConnection(String url, String user, String password) 试图建立到给定数据库 URL 的连接。 |
3.2、当上面的方法返回Connection对象时,Java和MySQL驱动同时提供了该类型:
其实,这两个类型的作用是一样的。
建议使用java提供的。(java提供的类型更具通用性)
补充:如果在这儿报错,原因:
a.用户名写错
b.密码写错
c.地址写错
d.网络错误
4、向MySQL数据库发送SQL语句(增删改查)
4.1、定义要发送的SQL语句
String sql = “SELECT * FROM student”;
4.2、利用Statement类向MySQL发送SQL语句
4.2.1利用Connection对象来获取Statement对象
Statement |
createStatement() 创建一个 Statement 对象来将 SQL 语句发送到数据库。 |
Statement |
createStatement(int resultSetType, int resultSetConcurrency) 创建一个 Statement 对象,该对象将生成具有给定类型和并发性的 ResultSet 对象。 |
Statement |
createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) 创建一个 Statement 对象,该对象将生成具有给定类型、并发性和可保存性的 ResultSet 对象。 |
4.2.2利用Statement对象
boolean |
execute(String sql) 执行给定的 SQL 语句,该语句可能返回多个结果。 |
boolean |
execute(String sql, int autoGeneratedKeys) 执行给定的 SQL 语句(该语句可能返回多个结果),并通知驱动程序所有自动生成的键都应该可用于获取。 |
boolean |
execute(String sql, int[] columnIndexes) 执行给定的 SQL 语句(该语句可能返回多个结果),并通知驱动程序在给定数组中指示的自动生成的键应该可用于获取。 |
boolean |
execute(String sql, String[] columnNames) 执行给定的 SQL 语句(该语句可能返回多个结果),并通知驱动程序在给定数组中指示的自动生成的键应该可用于获取。 |
excute(String sql)方法:执行增删查改SQL语句(返回语句执行是否成功)
ResultSet |
executeQuery(String sql) 执行给定的 SQL 语句,该语句返回单个 ResultSet 对象。 |
int |
executeUpdate(String sql) 执行给定 SQL 语句,该语句可能为 INSERT 、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。 |
int |
executeUpdate(String sql, int autoGeneratedKeys) 执行给定的 SQL 语句,并用给定标志通知驱动程序由此 Statement 生成的自动生成键是否可用于获取。 |
int |
executeUpdate(String sql, int[] columnIndexes) 执行给定的 SQL 语句,并通知驱动程序在给定数组中指示的自动生成的键应该可用于获取。 |
int |
executeUpdate(String sql, String[] columnNames) 执行给定的 SQL 语句,并通知驱动程序在给定数组中指示的自动生成的键应该可用于获取。 |
补充:程序在此处出错,报错可能原因:
a.SQL语句定义错误
b.Statement对象调用execute方法错误
5、关闭相应连接
Connection对象
Statement对象
*先关闭Statement对象,后关闭Connection对象
二、JDBC的核心类或对象
1、DriverManager类
作用:管理一组
待补充...
面试:writer和stream的区别。