数据库驱动
应用程序需要通过“数据库驱动”,和数据库打交道。

JDBC介绍


需要的包

JDBC项目模板


加载驱动为何要用反射方法
老式写法:使用new方式,传入DriverManager来注册mysql的driver。然而 com.mysql.jdbc.Driver类在静态代码块中,已经进行了注册工作。这样子会注册两次。
新式写法:利用反射,运行com.mysql.jdbc.Driver类的静态代码块,进行一次注册即可。

URL语法

Connection 代表数据库

Statement 用来执行sql语句


Statement vs PrepareStatement
MySQL - Statement vs PrepareStatement
Statement很容易被SQL注入,详见:https://blog.csdn.net/meism5/article/details/90414125
因此java引入PrepareStatement来预防sql注入,原理如下图。

ResultSet 查询的结果集


JDBC 事务模板
注意:下图JdbcUtils.getConnection()把“JDBC项目模板”里的:加载mysql driver, 加载数据库连接url...等通用步骤,给封装了起来。
