JDBC复习要点总结

1、JDBC六步概述

注册驱动:Class.forName("com.mysql.jdbc.driver");

获取数据库连接:Connection conn = DriverManger.getConnection(url,user,password);

获取数据库操作对象:Statement, PrepareStatement

执行sql: DML(insert,update,delete) 语句执行executeUpdate(),select 执行 executeQuery()

处理查询结果集:查询语句才有此步骤。

关闭资源:由内而外关闭,先关闭 结果集对象,再关闭数据库操作对象,最后关闭数据库连接。

2、Statement, PrepareStatement 的对比

(1)Statement存在sql注入问题,PrepareStatement 解决了注入问题。

(2)PrepareStatement  执行效率高,预编译一次,执行多次。Statement 编译执行同时进行,执行一次编译一次。

(3)PrepareStatement   会在编译阶段做类型的安全检查,比如参数为数字,传入字符串,会编译报错。

综上PrepareStatement使用较多,但是Statement在业务要求sql注入的情况下不可代替,比如根据参数排序。

3、JDBC事务

(1)JDBC中的事务默认自动提交,执行一次DML就自动提交。

(2)开启事务的三个步骤:

自动提交改为手动提交:conn.autoCommit(false);

执行完所有语句,手动提交:conn.commit();

出现异常,进行回滚:conn.rollback();

 

posted @ 2022-01-18 20:55  dong&li  阅读(24)  评论(0编辑  收藏  举报