A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

©   /  2019-4-13 18:36  /  4557 人查看  /  64 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.什么是JDBC,使用JDBC的好处?
Java对数据库操作,能够使用同一套代码,去连接不同的关系型数据库,解放了程序员的双手,让程序员去做更有意义的事情

2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
我们导入的jar包其实就是mysql数据库里面提供的各种接口的实现类,我们用idea去使用JDBC定义的这套规则,就是接口,不需要我们写实现类,在导入的jar包中已经写好了,我们只需要会使用这些功能就好了。

3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
1.使用反射的方式可以解决耦合度高的问题,如果使用new对象的话,当我们需要更换成其他库的话new对象这个方式必须要改动源码,这就要关闭服务器。而使用反射的话可以通过properties集合来设置配置文件读取信息,这种情况下只要更改配置文件就可以了,不需要关闭服务器改源码。2、jar包的实现类中,已经有new对象的语句了,如果用new来实现的话相当于new了两次对象。

4.请简述JDBC编程的步骤
1、导入要用的数据库驱动jar包 2、注册驱动 3、获取数据库连接对象Connnection 4、定义要操作的sql语句 5、获取执行sql语句的对象Statement或者PreparedStatement,但是最好使用后者,因为前者会出现sql注入问题。6、执行sql语句获得结果。7、处理结果。最后释放资源。

5.JdbcUtils存在的目的?
因为执行jdbc的代码操作中有很多的代码都是重复代码,我们将这些重复代码封装到jdbcUtils工具类中可以提高代码的复用性,减少编程时的代码量,符合java的编程思想。

6.什么是SQL注入问题,该怎样解决?
使用statement执行sql语句的情况下,在拼接sql语句时,有一些sql的特殊关键字参与字符串的拼接的时候,会造成安全性问题,例如登入数据库的时候即使账户和密码都是错的,但是带上一些特殊字符串拼接也能登录成功。使用PreparedStatement对象来替代statement对象执行sql语句就可以解决sql注入问题。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马