DriverManager 驱动管理类
- 注册驱动
Class.forName("com.mysql.jdbc.Driver");
- 获得连接
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/RUNOOB?serverTimezone=GMT%2B8","username","password");
/**
* URL的写法:jdbc:mysql://localhost:3306/RUNOOB?serverTimezone=GMT%2B8
* jdbc : 协议
* mysql:子协议
* localhost : 主机名
* 3306 :端口号
* RUNOOB:数据库名称
* ?serverTimezone=GMT%2B8:时区
Connection : 连接对象
- 创建执行SQL语句的对象
Statement createStatement() //执行sql语句,有sql注入的漏洞存在
PreparedStatement prepareStatement(String sql) //预编译sql语句,解决sql注入的漏洞
CallableStatement prepareCall(String sql) //执行sql语句中存储过程
- 进行事务管理
setAutoCommit(boolean autoCommit); //设置事务是否自动提交
commit();//事务提交
rollback();//事务回滚
Statement :执行sql语句
- 执行sql语句
boolean execute(String sql); //执行sql
ResultSet resultSet executeQuery(String sql); //执行select语句
int executeUpdate(String sql); //执行updata/insert/delete语句
- 批处理操作
addBatch(String sql) //添加到批处理
int[] executeBatch() //执行批处理
clearBatch() //清空批处理
ResultSet :结果集
结果集:查询语句(select)语句查询的结果的封装
next()
getInt()
getString()
JDBC的资源释放
if (resultSet!=null){
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
resultSet = null;
}
if (state!=null){
try {
state.close();
} catch (SQLException e) {
e.printStackTrace();
}
state = null;
}
if (conn!=null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
conn = null;
}