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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 厦门校区   /  2019-1-13 18:50  /  3086 人查看  /  26 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


1.什么是JDBC,使用JDBC的好处?
java语言操作数据库,其实是官方定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这个接口,提供数据库驱动jar包。我们可以使用这套接口编程,真正执行的代码是驱动jar包中的实现类。
不用学习各种各样的数据库语言,只需要学习统一的方法
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
jar包是数据库厂商针对JDBC接口写的实现类,它实现了java程序和数据库进行连接的具体代码
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
使用反射可以不修改程序,修改注册驱动类,以适应不同的数据库:使用反射可以通过通过类路径获取指定的数据库连接对象,而类路径可以是一个变量,通过参数传递或则读取配置文件获取,这样可以灵活指定需要创建的数据库连接对象;反射可以指定需要加载的类对象,并且可以获取类中的所有成员。
4.请简述JDBC编程的步骤
(1)导入jar包
(2)注册驱动
(3)获取数据库连接对象connection
(4)获取执行sql的对象statement
(5)定义sql语句
(6)执行sql处理结果
(7)释放资源
5.JdbcUtils存在的目的?
简化代码
6.什么是SQL注入问题,该怎样解决?
在执行sql语句的时候,出现恒等式,使语句恒成立
用preparedStatement类和占位符进行预编译
回复 使用道具 举报

1.什么是JDBC,使用JDBC的好处?
答:JDBC Java DataBase Connectivity 是用java语言操作数据库。jdbc是操作所有关系型类库的规范(接口)。
用JDBC的好处是:作为程序开发者,可以通过函数式编程的方式,只关心实现功能的接口,
不用关注如何实现对数据库操作的具体方法。不用关注数据库操作的实现类。

2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,
有什么用,他和JDBC有什么关系?
答:.jar包中是操作数据库的的jdbc实现类。导入到项目中,让该项目的java程序使用时,明白是哪个公司的数据库。
java程序通过jar包中的实现类,来操作数据库。

3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
答:new对象的方式,在创建对象时,会产生硬编程的问题,DriverManager.registerDriver(new Driver());
这样写的话,把数据库写死了。如果服务器转换数据库的话,需要关闭服务器。
使用反射的方式只需要修改配置文件即可。

4.请简述JDBC编程的步骤
答:
1.导入驱动jar包
2.注册驱动
3.获取数据库连接对象Connection
4.定义sql语句
5.获取执行sql语句的对象preparedstatement/statement
如果是preparedstatement方法需要对?赋值)
7.执行sql语句,返回结果集resultset
8.处理结果 (遍历结果集,封装对象,装载集合等)
9.释放资源


5.JdbcUtils存在的目的?
答:对jdbc代码的抽取。
简化操作:
对注册驱动、获取数据库连接对象、释放资源的操作进程抽取到方法中。

6.什么是SQL注入问题,该怎样解决?
答:SQL注入问题:在拼接sql时,有一些sql的特殊关键字参与了字符串的拼接。
会造成安全性问题。
解决SQL注入的问题,使用PreparedStatement对象来解决。对sql语句进行预编译:使用?作为占位符。
在执行sql的语句前进行对?的赋值。
回复 使用道具 举报
1.什么是JDBC,使用JDBC的好处?
JDBC是官方定义的接口,是访问数据库的标准规范,具体的操作跟数据库的驱动有关,我们会调用接口中的方法就可以使用,
只需要进行一点修改就可以使用其他数据库,不与要大幅度改动
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
用来连接操作数据库,是JDBC的实现类
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
因为耦合度太高会把代码写死,等我们使用别的数据库时需要修改大量代码,使用反射可以稍微修改配置文件就可以降低耦合性
4.请简述JDBC编程的步骤
导jar包;注册驱动;获取Connection对象;定义sql语句;获取sql执行对象;调用执行sql接收返回的结果;处理结果释放资源
5.JdbcUtils存在的目的?
简化代码书写,提高代码复用性
6.什么是SQL注入问题,该怎样解决?
在拼接sql时,有些使用了sql的特殊关键字参与拼接,影响了安全
使用PreparedStatement对象解决,在定义sql时使用占位符?,然后给?赋值

回复 使用道具 举报
1.什么是JDBC,使用JDBC的好处?JDBC是java访问数据库的标准规范。使用JDBC的好处:
1) 程序员如果要开发访问数据库的程序, 只需要会调用 JDBC 接口中的方法即可, 不用关注类是如何实现的。
2) 使用同一套 Java 代码,进行少量的修改就可以访问其他 JDBC 支持的数据库
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
数据库驱动,是对JDBC 接口实现的类。
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
解耦合,若有数据库软件更换的时候,就不用修改源代码,只需更改配置文件,如果使用new对象,则需要修改原代码,使用发射提高程序员工作效率。
4.请简述JDBC编程的步骤
1) 注册和加载驱动(可以省略)
2) 获取连接
3) Connection 获取 Statement 对象
4) 使用 Statement 对象执行 SQL 语句
5) 返回结果集
6) 释放资源
5.JdbcUtils存在的目的?
提高代码的复用性,把我们常用的的功能做成一个工具类,可以在不同的地方重用。
1) 可以把几个字符串定义成常量:用户名,密码, URL,驱动类
2) 得到数据库的连接: getConnection()
3) 关闭所有打开的资源:
close(Connection conn, Statement stmt), close(Connection conn, Statement stmt, ResultSet rs)
6.什么是SQL注入问题,该怎样解决?

我们让用户输入的密码和 SQL 语句进行字符串拼接。用户输入的内容作为了 SQL 语句语法的一部分, 改变了
原有 SQL 真正的意义, 以上问题称为 SQL 注入。要解决 SQL 注入就不能让用户输入的密码和我们的 SQL 语句进
行简单的字符串拼接。

回复 使用道具 举报
1.什么是JDBC,使用JDBC的好处?JDBC是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。
使用JDBC可以对数据库进行连接和操作。
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
数据库厂商按照JDBC规则定义的接口包,包中有用来操作数据库的实现类,所以我们需要通过导入,从而实现对数据库的连接和操作。
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
使用反射方式可以达到解耦合和简化代码,如果使用new耦合性就太高了,牵一发而动全身。这也是使用发射的好处,可以让代码模块独立化,更方便修改。
4.请简述JDBC编程的步骤
1. 导入驱动jar包  2. 注册驱动 3. 获取数据库连接对象 Connection 4. 定义sql  5. 获取执行sql语句的对象 Statement 6. 执行sql,接受返回结果 7. 处理结果 8. 释放资源
5.JdbcUtils存在的目的?
将JDBC编程过程中重复度较高,过于冗余的代码封装成JdbcUtils类中方法,简化代码的书写两,达到重复使用的功能。
6.什么是SQL注入问题,该怎样解决?

SQL注入,就是利用代码语句的逻辑漏洞,通过文本输入组成的完整的sql执行语句,达到欺骗服务器执行恶意的SQL命令。
可以使用将sql语句的执行对象更换为PreparedStatement类,不仅可以解决sql注入的漏洞,也提高了sql语句的执行效率。
回复 使用道具 举报
1.什么是JDBC,使用JDBC的好处?
答:JDBC,数据库操纵语言,是可以用java代码直接操纵数据库的一种框架吧,可以使用java代码对数据库进行增删改查。
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
答:1.mysql-connector-java-5.1.37-bin.jar为数据库的驱动,我们需要使用JDBC对数据库进行增删改查的时候必须需要导入这个jar包,
      2.进行注册驱动,获取数据库连接。对数据库进行增删改查,
      3.JDBC要对数据库进行操作其底层连接方式代码,都封装在这个jar包中的,有依赖关系
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
答:1.使用反射的方式可以对程序解耦合,我们的数据库账号或者密码或者更换数据库的话直接修改配置文件就好了可以做到热部署。而用new出来的方式的话需要修改源代码。非常麻烦,而且也无法做到热部署,需要关闭网站,会对产品造成损失。
4.请简述JDBC编程的步骤
1.导入驱动包
2.注册驱动
3.获取连接对象
4. 定义sql
5. 获取执行sql语句的对象 Statement
6. 执行sql,接受返回结果
7. 处理结果
8. 释放资源
5.JdbcUtils存在的目的?
答:简化我们 2.注册驱动3.获取连接对象,和释放资源的步骤
6.什么是SQL注入问题,该怎样解决?
答:SQL注入就是通过一些SQL语句插入到数据库中欺骗数据库以达到不可告人的目的,若我们的SQL语句构造不严谨就会造成SQL注入
解决SQL注入的问题是将sql语句执行对象由Statement类替换成PreparedStatement类,后者是前者的子类,修复了sql注入的漏洞,同时也提高了sql语句的执行效率。
回复 使用道具 举报
1.什么是JDBC,使用JDBC的好处?
其实就是官方定义的一套操作关系型数据库的规则,即接口。
用户就只要有数据库厂商提供的jar包就可以使用JDBC访问不同的数据库,只需要关注接口中的方法,不需要知道方法中怎么实现访问数据库的原理。

2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
它就是各个数据库厂商写的接口的实现类。mysql jar包中重写了JDBC接口中的方法,
我们只需要调用接口中的方法,而真正执行的方法是jar 包中的实现类方法,
我们可以通过jar包中的实现类方法进行与连接mysql数据库,对数据库进行相应的操作。

3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
使用反射可以解耦合,需要改动的时候,只需要改动相应的文件路径,而不用去修改代码。
而且通过创建对象的方式注册驱动的话会把这个过程写死,当需要切换数据库的时候,就只能关闭数据库之后修改原代码才能切换。

4.请简述JDBC编程的步骤
1)导入驱动包;
2)注册驱动;
3)获取数据库连接对象 Connection;
4)定义sql执行语句;
5)获取sql语句执行对象;
6)调用方法,执行sql语句,接收返回的结果;
7)处理结果;
8)释放资源。

5.JdbcUtils存在的目的?
简化书写,提高代码的复用性。

6.什么是SQL注入问题,该怎样解决?
SQL注入问题指的是在拼接静态的sql语句的时候会有一些sql的关键字参与字符串的拼接,就会导致sql的判断语句异常等安全问题,
从而出现sql语句异常,数据库安全异常等情况
将sql语句的执行对象换成使用 prepareStatement。
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马