DriverManager,可以称之为驱动管理类。主要作用:
1:注册驱动;
实际开发中,不会使用:DriverManager.registerDriver(new Driver())的方式来注册,因为Driver类中存在静态代码块,已经执行了这一步骤,这会导致驱动注册两次。
通常使用:Class.forName("com.mysql.jdbc.Driver"); Class.forName()方法是用来手动加载类的方法。具体见:理解Class.forName()
2:获得连接;
使用getConnection()方法:
Connection getConnection(String url, String username, String password) 其中:
url写法:jdbc:mysql://localhost:3306/database 其中,jdbc是连接数据库的协议,mysql是连接数据库的子协议。localhost为主机名。3306为端口号,database为连接的数据库名。如果连接的是主机的话,主机名可以省略(“/”不要省略)。
Connection:JDBC程序与数据库的连接对象
1:创建执行SQL语句的对象
Statement createStatement() :主要用来执行SQL语句,但是有SQL注入的漏洞
PreparedStatement preparedStatement(String sql) :主要用来预编译SQL语句,并且执行。解决了sql注入的漏洞
CallableStatement prepareCall(String sql) :主要用来执行SQL中的存储过程
2:进行事务管理
setAutoCommit(boolean autoCommit) :设置事务是否自动提交。
commit() :事务提交
rollback() :事务回滚
Statement :执行SQL语句
1:执行SQL语句
boolean execute(String sql) :执行SQL语句 很少用。执行SELECT语句会返回true,否则返回false
ResultSet executeQuery(String sql) :执行SELECT语句 返回查询到的结果集
int executeUpdate(String sql) :执行INSERT/UPDATE/DELETE语句。返回的 int 为受到作用的行数
2:执行批处理操作
addBatch(String sql) :添加到批处理
executeBatch() :执行批处理
clearBatch() :清空批处理
ResultSet 结果集,select获得的结果的封装
1:获取查询到的结果
boolean next() :判断是否又下一行记录,如果有返回真,并指向这一行。否则返回假
XXXX getXXXX(xxx) :针对不同的数据,使用相应的方法来获取数据。有列名或者列号作为参数,常用列名。
Object getObject(int columnIndex|String columnLabel) :通用的获取数据的方法。参数为列名或者列号,因为列号不固定,所以常用列名。