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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1.什么是JDBC,使用JDBC的好处?
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
4.请简述JDBC编程的步骤
5.JdbcUtils存在的目的?
6.什么是SQL注入问题,该怎样解决?

26 个回复

倒序浏览
1.什么是JDBC,使用JDBC的好处?
     JDBC就是JAVA官方定义的一套操作所有关系型数据库的规则,JDBC是一套接口,实现类由数据库的厂商来实现,并提供数据库驱动jar包
     JDBC的好处是我们只需要使用这一套接口来操作不同的关系型数据库,这样可以用同一套代码来连接不同的数据库
     开发人员只需要使用会调用JDBC中的方法即可,不用关心实现类是怎么实现的.
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
     用来执行我们所写的对数据库的操作语句的实现类,他是JDBC的实现类
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
     使用反射可以有效的减低程序的耦合性.
4.请简述JDBC编程的步骤
    1 导入驱动jar包;2. 注册驱动 3.获取数据库连接对象 4. 定义SQL 5.获取执行sql语句的对象Statement, 6.执行sql,接受返回的结果
7.处理返回的结果.8.释放资源
5.JdbcUtils存在的目的?
    抽取经常使用的,多次重复的代码到工具类中,这样可以提高代码的复用性,和减少相同代码的编写.
6.什么是SQL注入问题,该怎样解决?
   在拼接sql时,有一些sql的特殊关键字参与字符串的拼接。会造成安全性问题 使用PreparedStatement预编译SQL来解决

回复 使用道具 举报
1.什么是JDBC,使用JDBC的好处?字面理解是Java语言操作数据库,其本质其实是官方定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套JDBC编程,真正执行的代码是驱动jar包中的实现类。所以使用JDBC可以在不同的关系型数据库中操作数据库,因为实现接口的那些实现类是厂商已经写好了的,我们只要会用这些方法来实现想要的功能操作就可以了,这就是使用JDBC的好处。
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注入问题。
回复 使用道具 举报
1.什么是JDBC,使用JDBC的好处?
JDBC:是sun公司定义的一套可以操作所有关系性数库的规则,让各数据库厂商根据接口去实现对应自己数据库的驱动jar包,我们只需要通过调用JDBC接口中的方法,真正执行的方法是jar包中实现类的方法(父类引用指向子类对象)
JDBC的好处:JDBC接口规范java语言连接数据库的方式,就不会与各数据库厂商的存在多种连接方式,提高了java代码的通用性,减少程序员的学习成本不用去学习与各厂商数据的各种连接方式,只要通过JDBC接口调用接口中方法实现连接即可,也不会因连接方式太多产生混乱。

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

3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
(1)如果new对象的会产生硬编码问题,就是将创建的对象写死了,如果切换数据库驱动,就需要重写修改源代码,就必须重启服务器。这就会造成我们的对象java代码练习的太紧密
(2)注册驱动方法中静态代码定义了创建驱动对象语句,如果new对象会创建两次对象
(3)使用反射方式的话解决了硬编码问题,它可以避免修改源代码的情况,我们只需要修改配置文件即可进行换库换驱动的操作

4.请简述JDBC编程的步骤
(1)导入要连接的数据库jar包
(2)调用Class.forname( )方法,随着jar包的实现类的加载,通过静态代码创建了Driver对象(注册驱动)
(3)通过DriverManager.getConnection( )方法,获取Connection连接对象(建立java语言与数据库之间的连接)
(4)通过connection类中createStatement( )方法方法,获取Statement对象执行sql语句对象
(5)定义要执行sql语句
(6)将sql语句作为方法参数,执行sql语句,获取返回结果
(7)对返回结果进行处理
(8)释放资源

5.JdbcUtils存在的目的?
JDBCUtils将连接数据库的的固定的代码提取出来,形成一个工具类,通过工具类方法连接进行与数据库连接,只需要通过修改配置文件就可以实现换库,换账户,换数据库驱动的操作,而不需要去修改源代码,提高了代码的适用性,复用性,简化代码的书写

6.什么是SQL注入问题,该怎样解决?
sql注入问题,当在定义sql语句进行拼接时,有一些sql的特殊关键字参与字符串的拼接,使得sql语句后wher条件产生恒为true情况,这时候就可以增删改和查询数据库中数据,引发数据库安全问题。
可以使用 preparedStament对象,它是预编译sql,使用?占位符,将?传递数据,再到数据中进行组合成一句完整的sql语句,避免关键字参与拼接改变了sql语句原本的语义,提高了数据的安全性。
回复 使用道具 举报

1.什么是JDBC,使用JDBC的好处?
答:JDBC指的是java数据库连接,本质上就是JAVA定义的一套操作所有关系型数据库的规则(接口)。
使用JDBC的好处是所有关系型数据库如果要再JAVA虚拟机上操作数据库,都需要实现JAVA提供的接口,生成连接数据库专用的驱动jar包,而用户就只要有数据库厂商提供的jar包就可以使用JDBC访问不同的数据库,只需要关注接口中的方法,不需要知道方法中怎么实现访问数据库的原理。

2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
答:这个jar包是MySQL基于JDBC所实现的所有接口的实现类的压缩包,当我们导入这个jar包以后,就可以通过使用JDBC的语句去访问MySQL数据库。
这个jar包是JDBC的所有接口的实现类的压缩包

3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
答:使用反射原理是为了使注册驱动的过程解耦和,因为如果new对象的话,耦合度太高,会存在硬编码问题,而且通过创建对象的方式注册驱动的话会把这个过程写死,当需要切换数据库的时候,就只能关闭数据库之后修改原代码才能切换。
而使用反射的方式的话,会把注册的信息放到配置文件中,如果要切换数据库,只需要改变配置文件中的内容,不需要修改源代码。
使用反射的好处有2处:1.使程序解耦和,解决了硬编码问题,2.避免了重复创建对象引用。

4.请简述JDBC编程的步骤
答:步骤为:
1.先把jar包导入项目;
2.注册驱动,使用class.forname方法,让系统知道是哪个数据库的驱动;
3.获取数据库的连接对象,使用DriverManager.getConnection()方法,获取Connection对象conn;
4.书写SQL 语句,如:String sql="sql语句";
5.调用conn对象中的方法createStatement() 获取SQL执行对象stmt;
6.调用stmt中的方法executeUpdate()或者executeResultSet()方法执行sql语句。其中executeUpdate()是用来执行DDL和DML语句的,executeResultSet用来执行DQL语句;
7.执行SQL后会接收执行的结果,并做结果的处理,例如打印出查询的结果或者收到影响的语句的数量等;
8.需要把开启的资源释放出去,包括conn对象,stmt对象,rs对象等。

5.JdbcUtils存在的目的?
答:jdbcUtils存在的目的主要是为了简化书写,同时为了解耦和,使用反射注册驱动,就可以进一步的增强代码的复用性和可移植性;

6.什么是SQL注入问题,该怎样解决?
答:SQL注入问题指的是在拼接静态的sql语句的时候会有一些sql的关键字参与字符串的拼接,就会导致sql的判断语句异常等安全问题,进而出现sql语句异常,数据库操作异常操作等情况;
SQL注入主要是因为在创建SQL执行对象的时候使用的是createStatement(),该方法所执行的语句是静态的sql语句,解决方法是使用preparedStatement()方法创建的是预编译的SQL语句,通过通配符“?”作为占位符,会先把SQL语句编译好再把参数导入?位置,从而避免出现了SQL注入的情况。
回复 使用道具 举报
1.什么是JDBC,使用JDBC的好处?
Java和关系型数据库连接的接口;操作数据库,统一、方便。
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
用于连接数据库,注册驱动;它是数据库厂商按照JDBC规则定义的接口
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
使用反射方式获取Connection接口,从而在JDBC的规范的支持下,全程数据库操作;以反射形式加载的好处是当驱动jar包不存在时,我们可以做更多的操作,还可以降低程序的耦合度
4.请简述JDBC编程的步骤
1).导入jar包
2).注册驱动
3).获取数据库连接对象Connection
4).定义SQL
5).获取执行sql语句的对象 Statement
6).执行SQL
7).处理结果
8).释放资源
5.JdbcUtils存在的目的?
为了简化书写,提升代码的复用性
6.什么是SQL注入问题,该怎样解决?
在拼接SQL时,有一些SQL的特殊关键字参与字符,会造成安全问题;使用PreparedStatement对象来解决。
回复 使用道具 举报
1.什么是JDBC,使用JDBC的好处?
Java语言操作数据库,本质其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口
好处是可以用同一套java语音关联操作不同的数据库系统
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
jdk本身没有提供访问数据库的能力,它只是提供了一些接口,具体功能由各个数据库的的驱动jar包来实现.
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
1.解决硬编码问题,高内聚低耦合  2.避免了重复new对象
4.请简述JDBC编程的步骤
1 创建连接对象 2 创建 Statement 语句对象 3执行 SQL 语句  4 释放资源
5.JdbcUtils存在的目的?
解决重复代码过多,编写过程复杂的问题
6.什么是SQL注入问题,该怎样解决?
因为SQL语句拼接,传入了SQL语句的关键字,绕过了安全检查.
客户端利用JDBC-【Statement】的缺点,传入非法的参数,从而让JDBC返回不合法的值,我们将这种情况下,统称为SQL注入。
解决问题,不让手动输入的字符串与sql进行拼接,这里我们使用PrepareStatement接口,使用占位符的方式解决字符串与sql语句直接拼接的问题.提高了安全性
回复 使用道具 举报

1.什么是JDBC,使用JDBC的好处?
Java厂商定义的一套操作所有关系型数据库的规则,即接口。
方便MySQL和关系型数据库可以统一操作和管理
--------------------------------------------------------------------------
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
用于连接数据库,注册驱动,是数据库厂商按照JDBC规则定义的接口
--------------------------------------------------------------------------
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?
使用反射又有什么好处?
解耦合
简化代码
--------------------------------------------------------------------------
4.请简述JDBC编程的步骤
1.导包
2.注册驱动
3.获取数据对象
4.定义SQL
5.获取执行SQL对象
6.给?赋值
7.执行SQL
8.处理结果
9.释放资源
--------------------------------------------------------------------------
5.JdbcUtils存在的目的?
将重复性的代码抽取到工具类中,需要使用时调用,提高代码复用性
--------------------------------------------------------------------------
6.什么是SQL注入问题,该怎样解决?
1. SQL注入问题:在拼接sql时,有一些sql的特殊关键字参与字符串的拼接。会造成安全性问题
2. 解决sql注入问题:使用PreparedStatement对象来解决
1. 输入用户随便,输入密码:a' or 'a' = 'a
2. sql:select * from user where username = 'fhdsjkf' and password = 'a' or 'a' = 'a'

回复 使用道具 举报
1.什么是JDBC,使用JDBC的好处?
JDBC指Java数据库连接,是java语言中的一组应用程序接口,提供了如查询、更新数据库中的数据以及建立表等操作数据库的方法。
使用JDBC可以让程序员使用Java语言开发访问数据库的应用,并且只需关注接口中的方法调用,而不必针对每一款数据库管理软件编写特定的实现程序。对于数据库供应商和数据库工具开发商而言,通过实现JDBC接口,他们可以优化各自数据库产品的驱动程序。

2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
JDBC提供了一组关于数据库连接与操作的接口,各个数据库厂商对于各自的数据库管理软件实现了这些接口,mysql-connector-java-5.1.37-bin.jar包中即包含了JDBC接口的实现类。当Java语言调用操作数据库时,即是调用了这个包中的实现类的方法。

3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
使用反射的方式可以解耦合,即若有数据库软件的更换情况,则利用反射的方式只需要修改配置文件,而不用修改源代码。但是这种情况下,若使用new对象的方式却必须要修改源代码才行。

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

5.JdbcUtils存在的目的?
JdbcUtils是JDBC的工具类,将JDBC编程过程中重复度较高的代码封装成JdbcUtils类的多个方法,如注册驱动,建立数据库连接,关闭资源等方法。如此一来,在后续的编程过程中,可以简化代码的书写。

6.什么是SQL注入问题,该怎样解决?
所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
解决SQL注入的问题是将sql语句执行对象由Statement类替换成PreparedStatement类,后者是前者的子类,修复了sql注入的漏洞,同时也提高了sql语句的执行效率。

回复 使用道具 举报
1.什么是JDBC,使用JDBC的好处?JDBC是sun公司定义的一套数据库标准规范,也就是一套接口,这套接口需要各个数据库的厂商去自己完成实现类,从而让自己的数据库能够通过JAVA语言访问,将实现类封装到jar包中,我们只需要调用jar包中接口的实现类就好了;
使用 JDBC 的好处:
1)  程序员如果要开发访问数据库的程序,只需要会调用 JDBC 接口中的方法即可,不用关注类是如何实现的。
2)  使用同一套 Java 代码,进行少量的修改就可以访问其他 JDBC 支持的数据库

2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
这个jar包是数据库厂商根据自家数据库的通信格式编写好自己数据库的驱动和JDBC的实现类,我们通过打开包中的驱动,就能够用JAVA语言去访问数据库;
他是根据JDBC这套标准,由mysql厂商写的.

3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
因为直接new对象的话,容易把代码写死,以后如果我们这套代码要访问别的数据库,就需要改动代码,耦合性太高;
使用反射能够降低耦合性.

4.请简述JDBC编程的步骤
1. 导入驱动jar包 mysql-connector-java-5.1.37-bin.jar
                        1.复制mysql-connector-java-5.1.37-bin.jar到项目的libs目录下
                        2.右键-->Add As Library
2. 注册驱动
3. 获取数据库连接对象 Connection
4. 定义sql
5. 获取执行sql语句的对象 Statement
6. 执行sql,接受返回结果
7. 处理结果
8. 释放资源

5.JdbcUtils存在的目的?
如果一个功能经常要用到,就将这个功能抽取出来做成一个工具类,这样是为了减少代码的重复性;

6.什么是SQL注入问题,该怎样解决?

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

回复 使用道具 举报
1.JDBC是Java数据库连接,使用JDBC可以通过Java操作市场上不同的关系型数据库产品。
2.JDBC其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。
3.new对象耦合度高,且更换数据库时需要更改代码;使用反射达到了解耦和的效果而且需要更换数据库时,不需要进行代码的重新编译。
4.* 步骤:
                1. 导入驱动jar包 mysql-connector-java-5.1.37-bin.jar
                        1.复制mysql-connector-java-5.1.37-bin.jar到项目的libs目录下
                        2.右键-->Add As Library
                2. 注册驱动
                3. 获取数据库连接对象 Connection
                4. 定义sql
                5. 获取执行sql语句的对象 Statement
                6. 执行sql,接受返回结果
                7. 处理结果
                8. 释放资源
5.我们在编写JDBC发现代码重复度太高,代码繁杂,所以需要抽取共性,降低代码耦合度,提高代码复用性。
6.当Statement对象去执行sql语句时存在SQL注入问题,用户在编写SQL语句时可以写成恒成立的式子 达到欺骗到服务器的目的,我们可以使用PreparedStatement来防止这个问题。
回复 使用道具 举报

1.什么是JDBC,使用JDBC的好处?
定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。
好处:使用java是操作所有关系型的数据库时,所有的程序都一致,不区分数据库类型;方便程序开发。

2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
导入的 mysql-connector-java-5.1.37-bin.jar就是驱动包,各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。

3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
反射可以解耦合,使用普通的对象创建,也会造成driver对象的重复创建。

4.请简述JDBC编程的步骤
      1,导入jar驱动包
      2,注册驱动
      3,获取数据库连接对象
      4,定义sql语句
      5,获取sql执行sql对象 statement
      6,6.执行sql
      7,处理结果
      8,释放资源

5.JdbcUtils存在的目的?
简化代码的书写

6.什么是SQL注入问题,该怎样解决
在拼接sql时,有一些sql的特殊关键字参与字符串的拼接。会造成安全性问题
解决办法:使用PreparedStatement对象来解决
回复 使用道具 举报
遵守规范:重写接口,保证我们的方法三要素相同  这是面向接口的思想



重写接口之后的实现类  ====就是驱动

jabc  概念:java语言操作数据库

本质:官方定义了操作所有关系型数据库的规则(即接口),各个数据库厂商根据这个接口规范去写实现类,然后把这些实现类包装成驱动jar包,所有真正执行代码的是jar包中的实现类

包有什么用?
这个包是厂商提供的驱动包,里面封装了各种实现类,实现了JDBC 的一套接口,


拓展一下什么是jar包

jar包简介

AR文件的全称是Java Archive File,意思就是Java档案文件。通常JAR文件是一种压缩文件,与常见的ZIP压缩文件兼容,同城也被称为JAR包。JAR文件与zip文件的去区别就是在JAR文件中默认包含了一个名为META-INF/MANIFEST.MF的清单文件,这个清单文件是在生成JAR文件时系统自动创建的。

当开发了一个应用程序后,这个应用程序包含了很多类,如果需要把这个应用程序提供给别人使用,通常会将这些类文件打包成一个JAR文件,把这个JAR文件提供给别人使用。只要别人在系统的CLASSPATH环境变量中添加这个JAR文件,则Java虚拟机就可以自动在内存中解压这个JAR包,把这个JAR文件当成一个路径,在这个路径中查找所于晓的类或宝层次对应的路径结构。
---------------------
使用JAR文件有以下好处:


安全。能够对JAR文件进行数字签名,只让能够识别数字签名的用户使用里面的东西。


加快下载速度。在网上使用applet时,如果存在多个文件而不打包,为了能够把每个文件都下载到客户端,需要为每个文件单独建立一个HTTP连接,这是非常耗时的工作。将这些文件压缩成一个JAR包,只要建立一个http连接就能够一次下载所有的文件。


压缩。使文件变小,JAR的压缩机制和zip完全相同


包封装。能够让JAR包里面的文件依赖于统一版本的类文件。


可一致性。JAR包作为内嵌在Java平台内部处理的标准,能够在各种平台上直接使用。


jar包可以有一个特殊的/META-INF/MANIFEST.MF文件来指定Main-Class

把一个JAR文件添加到系统的classpath环境变量中后,Java将会把这个jar文件当成一个路径来处理。实际上jar文件就是一个路径,jar文件通常使用jar命令压缩而成,当使用jar命令压缩生成jar文件时,可以把一个或者多个路径全部压缩成一个jar文件。
---------------------


不能new对象 这样子对象和代码紧密联系,耦合度太高,我们要创建对象,通过反射的方式
、反射的好处  解耦合
好处:解耦合

使用new对象就把对象写死了,和java代码联系过于紧密,若哪天换库就得重新修改源代码,

使用反射方式,哪天换库,只需要修改jar包里面的配置文件的driver文件即可

JDBC编程的步骤

驱动
获取;连接
定义sql语句
.获取执行sql的对象 Statement
执行sql
处理结果
释放资源

.JdbcUtils存在的目的?
简化重复度高的代码

什么是SQL注入问题,该怎样解决?

使用 prepareStatement 来解决
回复 使用道具 举报

1.什么是JDBC,使用JDBC的好处?
        Java database Connectivity
        Sun公司定义的一套数据库使用的接口,具体的实现类由数据库厂商编写
        使用JDBC 能够同样的操作模式操作数据库
       
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
        是mysql数据库的驱动包
        用来注册驱动:告诉程序该使用哪一个数据库驱动jar
        是mysql为了Java编写的驱动jar包,我们使用JDBC接口编程
       
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
       
        使用反射可以解耦和
4.请简述JDBC编程的步骤
        导入驱动包
        注册驱动包
        获取数据库连接对象
        获取执行sql语句的对象 Statement
        执行sql,接受返回结果
        处理结果
        释放资源
       
5.JdbcUtils存在的目的?
        简化书写
6.什么是SQL注入问题,该怎样解决?
        要解决 SQL 注入就不能让用户输入的密码和我们的 SQL 语句进
行简单的字符串拼接
回复 使用道具 举报
1.什么是JDBC,使用JDBC的好处?
答:Java 数据库连接, Java语言操作数据库。
好处:运用JDBC让Java程序更灵活,可以让数据存储方便读取方便。
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
答:提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
答: 注册驱动:告诉程序该使用哪一个数据库驱动jar,反射的好处是:可以解耦合;
4.请简述JDBC编程的步骤
答:                           1. 导入驱动jar包 mysql-connector-java-5.1.37-bin.jar   
  2. 注册驱动
  3. 获取数据库连接对象 Connection
  4. 定义sql
  5. 获取执行sql语句的对象 Statement
  6. 执行sql,接受返回结果
  7. 处理结果
  8. 释放资源
5.JdbcUtils存在的目的?
答:首先JdbcUtils它是一个工具包类,其次利用Java操作MySql数据库的一个框架类JdbcUtils.java,完成对数据库的增删改查。
其中查询这块,包括普通的查询和利用反射完成的查询
6.什么是SQL注入问题,该怎样解决?
答:SQL注入问题:在拼接sql时,有一些sql的特殊关键字参与字符串的拼接。会造成安全性问题
使用PreparedStatement对象来解决。

回复 使用道具 举报

1.什么是JDBC,使用JDBC的好处?
        JDBC 是 Java 访问数据库的标准规范
        使用 JDBC 的好处:
        1) 程序员如果要开发访问数据库的程序, 只需要会调用 JDBC 接口中的方法即可, 不用关注类是如何实现的。
        2) 使用同一套 Java 代码,进行少量的修改就可以访问其他 JDBC 支持的数据库
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
        这个jar包是mysql数据库厂商针对JDBC接口写的实现类,它实现了java程序和数据库进行连接的具体代码。
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
        1)反射可以直接通过驱动路径加载进入内存,可以通过变量和配置文件的方式进行后续的代码修改操作
        (2)好处: 降低了代码的耦合度
4.请简述JDBC编程的步骤
        1. 导入驱动jar包 mysql-connector-java-5.1.37-bin.jar
                        1.复制mysql-connector-java-5.1.37-bin.jar到项目的libs目录下
                        2.右键-->Add As Library
        2. 注册驱动
        3. 获取数据库连接对象 Connection
        4. 定义sql语句
        5. 获取执行sql语句的对象 Statement
        6. 执行sql,接受返回结果
        7. 处理结果
        8. 释放资源

5.JdbcUtils存在的目的?
        数据库工具类 JdbcUtils我们可以把一些常用的功能做成一个数据库工具类 JdbcUtils,可以在不同的地方重用。
        简化代码,提高了代码的复用性
6.什么是SQL注入问题,该怎样解决?
         SQL 注入问题就是当用户输入的内容作为了 SQL 语句语法的一部分, 改变了原有 SQL 真正的意义。
        我们可以使用PreparedStatement 接口来防止 SQL 注入的问题,安全性更高。

回复 使用道具 举报
1.什么是JDBC,使用JDBC的好处?
JDBC是Sun公司提供的可以操作所有关系型数据库的接口,各个数据库厂商只要负责实现这个接口,使用这个接口的实现类(数据库驱动),就可以操作自己的数据库
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
使用jar包,在进行注册后就可以让java和数据库进行连接,他们是JDBC的实现类
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
1、会产生硬编码问题,就是我创建对象,对象写死了,如果我切换数据库驱动,就需要重写源代码,重启服务器,这就会造成我们对象和Java代码联系太紧密
2、会创建两次对象
反射的好处就是:
1、解决了硬编码问题
2、解决了重复创建对象的问题
4.请简述JDBC编程的步骤
1、注册驱动
2、获取连接对象 connection
3、定义SQL语句
4、获取执行SQL语句对象 statement
5、执行SQL语句
6、处理结果
7、释放资源
5.JdbcUtils存在的目的?
解决了重复编码的问题,简化书写
6.什么是SQL注入问题,该怎样解决?
在拼接SQL时,有一些SQL的特殊关键字参与字符串的拼接,造成安全问题
使用preparestatement解决SQL注入问题



回复 使用道具 举报
1.什么是JDBC,使用JDBC的好处?
答:Java操作数据库的接口。我们可以通过JDBC接口对各类数据库进行操作编程,使得编程更加便捷。

2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
答:导入jar包能够使我们注册驱动,连接数据库,jar包是JDBC接口的实现类。

3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
答:使用反射方式能够有效的解耦合,直接new对象会产生硬解码问题。

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

5.JdbcUtils存在的目的?
答:简化书写。

6.什么是SQL注入问题,该怎样解决?
答:SQL注入问题:在拼接sql时,有一些sql的特殊关键字参与字符串的拼接。会造成安全性问题。
解决sql注入问题:使用PreparedStatement对象来解决。





回复 使用道具 举报
1.什么是JDBC,使用JDBC的好处?
JDBC就是用Java语言操作数据库。
JDBC的本质是:官方定义的一套操作所有关系型数据库的接口,各个数据库产商去实现这套接口,提供数据库驱动的jar包,我们可以使用这套接口进行编程对数据库进行操作,但真正执行的代码是驱动jar包中的实现类。

2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
我们导入的这个jar包就是由mysql公司(现在的Oricle公司)实现的操作mysql数据库的接口,我们通过java代码进行JDBC的java代码编程,真正执行的是jar包中的实现类。

3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
使用反射可以解耦合。即当需要更更换数据库服务器的情况下,可以只修改配置文件就达到目的,不需要停止服务器来修改源代码。

4.请简述JDBC编程的步骤
1)导入驱动jar包到项目里
2)注册驱动
3)创建连接数据库对象
4)编写sql语句
5)获取执行sql语句对象
6)执行sql,接收放回结果
7)处理结果
8)释放资源

5.JdbcUtils存在的目的?
将JDBC编写过程中重复度较高的代码封装成方法,从而达到简化书写。

6.什么是SQL注入问题,该怎样解决?

SQL注入就是通过sql命令进行字符串拼接时,会出现安全问题,可以使用PreparedStatement来代替,从而解决注入问题。
回复 使用道具 举报
1.什么是JDBC,使用JDBC的好处?、
定义:一套操作所有关系型数据库的规则,即接口。
好处:  1.因为JDBC是由数据库开发商来实现的,我们只需要调用它的方法就可以了。
        2.因为标准是统一的,所有可以用来操作不同的数据库。

2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
用来执行我们所写的对数据库的操作语句的实现类,他是JDBC的实现类

3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
1.解决硬编码问题,高内聚低耦合
2.避免了重复new对象

4.请简述JDBC编程的步骤
(1)导包
(2)注册驱动
(3)创建连接对象
(4)创建 Statement 语句对象
(5)执行 SQL 语句,处理返回结果
(6)释放资源

5.JdbcUtils存在的目的?
抽取经常使用的,多次重复的代码到工具类中。
这样可以提高代码的复用性,和减少相同代码的编写.

6.什么是SQL注入问题,该怎样解决?
在拼接sql时,有一些sql的特殊关键字参与字符串的拼接会造成安全性问题。
使用PreparedStatement预编译SQL来解决
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马