1.什么是JDBC,使用JDBC的好处?
答:JDBC 规范定义接口,具体的实现由各大数据库厂商来实现。
JDBC 是 Java 访问数据库的标准规范,真正怎么操作数据库还需要具体的实现类,也就是数据库驱动。每个数据库厂商根据自家数据库的通信格式编写好自己数据库的驱动。所以我们只需要会调用 JDBC 接口中的方法即可, 数据库驱动由数据库厂商提供。
好处:(1)程序员如果要开发访问数据库的程序, 只需要会调用 JDBC 接口中的方法即可, 不用关注 类是如何实现的。
(2)使用同一套 Java 代码,进行少量的修改就可以访问其他 JDBC 支持的数据库
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
答:由mysql数据库厂商提供,需要额外去下载,是对 JDBC 接口实现的类。每个厂商根据自家数据库的通信格式编写好自己数据库的驱动。所以我们只需要会调用 JDBC 接口中的方法即可。
3.请简述JDBC编程的步骤
答:(1) 注册数据库驱动
(2) 创建连接对象
(3) 编写SQL语句
(4) 创建执行sql语句对象
(5) 执行sql语句
(6) 处理结果
(7) 释放资源
4.JdbcUtils存在的目的?
答:如果一个功能经常要用到,我们建议把这个功能做成一个工具类,可以在不同的地方重用
5.什么是SQL注入问题,该怎样解决?
答:我们让用户输入的密码和 SQL 语句进行字符串拼接。用户输入的内容作为了 SQL 语句语法的一部分, 改变了原有 SQL 真正的意义, 以上问题称为 SQL 注入。
解决:要解决 SQL 注入就不能让用户输入的密码和我们的 SQL 语句进行简单的字符串拼接。可以用PreparedStatement 来替换 Statement,PreparedStatement 是 Statement 接口的子接口,继承于父接口中所有的方法 |