数据库驱动
应用程序需要通过“数据库驱动”,和数据库打交道。
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...等通用步骤,给封装了起来。