黑马程序员技术交流社区
标题:
【厦门校区JavaEE就业6期-每日总结】JDBC
[打印本页]
作者:
厦门校区
时间:
2019-4-13 18:36
标题:
【厦门校区JavaEE就业6期-每日总结】JDBC
1.什么是JDBC,使用JDBC的好处?
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
4.请简述JDBC编程的步骤
5.JdbcUtils存在的目的?
6.什么是SQL注入问题,该怎样解决?
作者:
陈伟彬
时间:
2019-4-13 21:11
1.什么是JDBC,使用JDBC的好处?
答:
概念:是关系型数据库连接java的一套规则,即接口;
好处:
程序员在开发数据库时,只用调用JDBC接口中的方法即可,不用再去关注类是如何实现的;
具有多态的好处,即一套代码可以使用多种数据库;
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
答:
作用:里面有实现了JDBC接口之后的实现类
关系:我们在使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类;
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
答:
作用:直接nwe的话,不管有没有用都会创建对象,而使用反射是只有要用到时才会创建对象,这样更节省内存,而且还有解耦作用;
好处:
可以在程序运行过程中,操作这些对象;
可以解耦,提高程序的可扩展性;
4.请简述JDBC编程的步骤
答:
步骤:
1.导入jar包;
2.注册驱动;
3.获取数据库连接对象;
4.获取执行sql语句的对象;
5.执行sql语句;
6.处理结果;
7.释放资源;
5.JdbcUtils存在的目的?
答:
目的:简化代码的书写;
6.什么是SQL注入问题,该怎样解决?
答:
概念:在拼接SQL语句时,如果有一些SQL特殊关键字参与字符串的拼接,则会造成安全问题;
解决方法:使用preparedStatement 对象来解决,进行预编译的SQL;
作者:
余建强
时间:
2019-4-13 21:12
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注入问题。
作者:
郑海波
时间:
2019-4-13 21:12
1.什么是JDBC,使用JDBC的好处?
JDBC : 是关系型数据库连接Java的一套规则(接口)
好处:同一套代码可以应用于不同数据库
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
JAR包是实现了JDBC接口之后的类,能够使JDBC操作实现。
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
使用反射能够节省资源,解耦。
4.请简述JDBC编程的步骤
1.导包
2.注册驱动
3.创建数据库连接对象
4.创建执行SQL语句对象
5.根据语句选择执行方法
6.处理结果
7.关闭资源
5.JdbcUtils存在的目的?
节省资源,使代码简洁
6.什么是SQL注入问题,该怎样解决?
SQL注入问题是createStatement将某个指令代入数据库执行时,实际结果和需求不符,导致BUG,因此采用了prepareStatement方法来解决。
作者:
黑马六期-董安平
时间:
2019-4-13 21:14
1.什么是JDBC,使用JDBC的好处?
答:
JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。
好处:各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
答:用来执行对MySQL数据库的操作语句的实现类,即JDBC的实现类
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
答:好处是可以游戏的减低程序的耦合性
4.请简述JDBC编程的步骤
答:
1)注册驱动
2)获取连接对象
3)定义sql
4)获取执行sql对象
5)执行sql
6)处理结果
7)释放资源
5.JdbcUtils存在的目的?
答:
抽取共性,简化书写
6.什么是SQL注入问题,该怎样解决?
答:
在拼接sql时,有一些sql的特殊关键字参与字符串的拼接。会造成安全性问题
解决方法:使用PreparedStatement对象来解决
作者:
java基础6期刘伟
时间:
2019-4-13 21:15
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 语句进行简单的字符串拼接。
作者:
陈前凌
时间:
2019-4-13 21:15
1.什么是JDBC,使用JDBC的好处?
JDBC是java官方定义的操作所有关系型数据库的接口,各个数据库厂商想连接java得去实现这些接口。
好处:使用同一套java代码,进行少量的修改就可以访问其他的数据库了,而不用去学每个数据的规则了;
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
是mysql数据对jdbc接口的实现类包,免去程序员去自定义实现类
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
使用反射原理是为了使注册驱动的过程解耦和,因为如果new对象的话,耦合度太高,会存在硬编码问题,而且通过创建对象的方式注册驱动的话会把这个过程写死,当需要切换数据库的时候,就只能关闭数据库之后修改原代码才能切换。
而使用反射的方式的话,会把注册的信息放到配置文件中,如果要切换数据库,只需要改变配置文件中的内容,不需要修改源代码。
使用反射的好处有2处:1.使程序解耦和,解决了硬编码问题,2.避免了重复创建对象引用。
4.请简述JDBC编程的步骤
1.导入jar包
2.注册驱动
3.获取数据库连接对象 Connection
4.编写sql语言
5.获取sql语句对象,传入sql语言 Statement
6.执行sql语句,接受返回结果
7.处理结果
8.释放资源
5.JdbcUtils存在的目的?
工具类,可以帮我们免去jdbc编程的注册驱动、连接对象、释放资源的重复编写
6.什么是SQL注入问题,该怎样解决?
sql注入问题:当我们输入的密码不正确的时候还可以登入数据库成功
解决办法:使用PreparedStatement 接口,因为有预先编译的功能,提高 SQL 的执行效率。
可以有效的防止 SQL 注入的问题,安全性更高。
作者:
陈前凌
时间:
2019-4-13 21:16
1.什么是JDBC,使用JDBC的好处?
JDBC是java官方定义的操作所有关系型数据库的接口,各个数据库厂商想连接java得去实现这些接口。
好处:使用同一套java代码,进行少量的修改就可以访问其他的数据库了,而不用去学每个数据的规则了;
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
是mysql数据对jdbc接口的实现类包,免去程序员去自定义实现类
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
使用反射原理是为了使注册驱动的过程解耦和,因为如果new对象的话,耦合度太高,会存在硬编码问题,而且通过创建对象的方式注册驱动的话会把这个过程写死,当需要切换数据库的时候,就只能关闭数据库之后修改原代码才能切换。
而使用反射的方式的话,会把注册的信息放到配置文件中,如果要切换数据库,只需要改变配置文件中的内容,不需要修改源代码。
使用反射的好处有2处:1.使程序解耦和,解决了硬编码问题,2.避免了重复创建对象引用。
4.请简述JDBC编程的步骤
1.导入jar包
2.注册驱动
3.获取数据库连接对象 Connection
4.编写sql语言
5.获取sql语句对象,传入sql语言 Statement
6.执行sql语句,接受返回结果
7.处理结果
8.释放资源
5.JdbcUtils存在的目的?
工具类,可以帮我们免去jdbc编程的注册驱动、连接对象、释放资源的重复编写
6.什么是SQL注入问题,该怎样解决?
sql注入问题:当我们输入的密码不正确的时候还可以登入数据库成功
解决办法:使用PreparedStatement 接口,因为有预先编译的功能,提高 SQL 的执行效率。
可以有效的防止 SQL 注入的问题,安全性更高。
作者:
高坂火龙果
时间:
2019-4-13 21:16
黄志斌:
1.什么是JDBC,使用JDBC的好处?
JDBC是JAVA定义的连接关系型数据库的接口(规则),
使用JDBC可以让我们在使用不同类型的数据库时不用编写繁复的源码去连接数据库,而是使用各大厂商的jar包来实现;
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
jar包是各大数据库厂商针对JDBC这个接口制作的实现类包,
可以让我们更加简易的调用实现类内的方法来实现JAVA和数据库的连接,
jar包是JDBC接口的实现类;
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
使用反射来解决耦合度高的问题,如果我们需要更换其他库的话new对象就需要去改动源码,这样需要关闭服务器来进行操作,
而通过反射的方式注册驱动的话,可以通过修改配置文件来达到修改整体的目的;
4.请简述JDBC编程的步骤
1.导入jar包
2,注册驱动
3.获取数据库连接对象(Connection)
4.定义sql语句
5.获取执行sql语句的对象(Statement)
6.执行sql语句,接收返回的结果
7.处理返回结果
8.释放资源
5.JdbcUtils存在的目的?
JDBCUtils通过分别抽取三个方法和创建配置文件,来实现注册驱动、连接数据库、释放资源这三个反复需要使用到的功能,达到简化代码的目的,
配置文件中则是几个键值对,用来代入参数;
6.什么是SQL注入问题,该怎样解决?
在拼接sql时,有一些sql的特殊关键字参与字符串的拼接,会造成安全性问题,
解决方式:使用PreparedStatement对象,预编译sql参数使用占位符?,然后给?赋值,来解决sql注入问题。
作者:
林志鹏
时间:
2019-4-13 21:17
1.什么是JDBC,使用JDBC的好处?
JDBC:是java DataBase Connnectivity的简称:数据库连接
本质:定义的一套规则用来连接所有关系型数据库的接口,由数据库的厂商去实现接口提供jar包。
好处:我们只要使用这一套接口就可以操作不同的数据库,用这一套代码来连接不同的数据库
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
用处:导入的jar包是用来执行我们写的SQL语句的实现类
关系:jar包里面是JDBC的实现类
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
使用反射技术可以解决耦合度高的问题,new对象的话只能使用当前数据库要用其他数据库就要改动源码,使用反射机制的话可以通过properties集合来设置配置文件读取信息,这样我们只要改动配置文件即可
4.请简述JDBC编程的步骤
步奏:
①导入数据库jar包 右键运行jar包
②获取数据库字节码文件,告诉程序使用的数据库
③获取数据库对象连接数据库
④书写SQL语句
⑤获取SQL语句对象
⑥执行SQL语句 (要分辨是DML还是DQL语句对应的执行方法不同)
⑦释放流
5.JdbcUtils存在的目的?
抽取类中共性的集成成为一个工具类,方便使用不用编写重复代码
6.什么是SQL注入问题,该怎样解决?
SQL注入问题:statement执行sql语句,拼接sql语句时候会发现有一些特殊的语句“恒等式”参与拼接时会造成安全性问题造成用户密码不对也可登陆
解决:使用PreparedStatement对象来替代statement对象执行sql语句
作者:
林艺彬
时间:
2019-4-13 21:24
1.什么是JDBC,使用JDBC的好处?
JDBC是ava DataBase Connectivity Java语言操作数据库,本质是是关系型数据库连接Java的一套规则(接口)‘
好处:可以给我们JDK中内置的 Connection Stament 进行赋值 创建子实现类对象 (由各大数据库厂商实现 jar包)
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
我们导入的jar包其实就是mysql数据库里面提供的各种接口的实现类,我们用idea去使用JDBC定义的这套规则,就是接口,不需要我们写实现类,在导入的jar包中已经写好了,我们只需要会使用这些功能就好了。
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
使用反射原理是为了使注册驱动的过程解耦和,因为如果new对象的话,耦合度太高,会存在硬编码问题,而且通过创建对象的方式注册驱动的话会把这个过程写死,当需要切换数据库的时候,就只能关闭数据库之后修改原代码才能切换。
而使用反射的方式的话,会把注册的信息放到配置文件中,如果要切换数据库,只需要改变配置文件中的内容,不需要修改源代码。
使用反射的好处有2处:1.使程序解耦和,解决了硬编码问题,2.避免了重复创建对象引用。
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存在的目的?
目的:简化书写,因为执行jdbc的代码操作中有很多的代码都是重复代码,我们将这些重复代码封装到jdbcUtils工具类中可以提高代码的复用性,减少编程时的代码量,符合java的编程思想。
6.什么是SQL注入问题,该怎样解决?
SQL注入问题:在拼接sql时,有一些sql的特殊关键字参与字符串的拼接。会造成安全性问题;
解决sql注入问题:使用PreparedStatement对象来解决
作者:
罗加铭
时间:
2019-4-13 21:25
就是数据库驱动。每个数据库厂商根据自家数据库的通信格式编写好自己数据库的驱动。所以我们只需要会调用 JDBC 接口中的方法即可, 数据库驱动由数据库厂商提供
好处:
1) 程序员如果要开发访问数据库的程序, 只需要会调用 JDBC 接口中的方法即可, 不用关注类是如何实现的。
2) 使用同一套 Java 代码,进行少量的修改就可以访问其他 JDBC 支持的数据库
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
答:
可以用java驱动此jar包,对mysql数据库内的数据进行操作,
他是JDBC的实现类
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
答:
使用反射可以不修改程序,修改注册驱动类,以适应不同的数据库:使用反射可以通过通过类路径获取指定的数据库连接对象,而类路径可以是一个变量,通过参数传递或则读取配置文件获取,这样可以灵活指定需要创建的数据库连接对象;
反射的好处就是可以指定需要加载的类对象,并且可以获取类中的所有成员;
4.请简述JDBC编程的步骤
答:
1. 注册驱动
2.获取连接对象
3.定义sql
4.获取执行sql对象
5.执行sql
6.处理结果
7.释放资源
5.JdbcUtils存在的目的?
答:
JDBCUtils将连接数据库的的固定的代码提取出来,形成一个工具类,通过工具类连接获取数据库连接,简化代码,提高了代码的复用性
6.什么是SQL注入问题,该怎样解决?
答:
SQL注入问题是通过恒等式,让sql判断条件为true,导致SQL注入问题
解决:是使用Statement执行类的子类PreparedStatement,该类的执行方法传入的sql语句中可变的部分用占位符?代替,获取PreparedStatement对象的时候就把sql语句传入进行预编译,然后再设置可变参数,从而保证不会出现安全问题
作者:
黑马林伟明
时间:
2019-4-13 21:27
1、理解JDBC相关概念
JDBC : 是关系型数据库连接Java的一套规则(接口)
可以给我们JDK中内置的 Connection Stament 进行赋值 创建子实现类对象 (由各大数据库厂商实现 jar包)
2、掌握JDBC连接数据库基本步骤
1) 导入jar包 (mysql jar包 oracle jar包)
2) 注册驱动
mysql5版本之前
Class.forName("com.mysql.jdbc.Driver"); // 代码的向下兼容
mysql5版本之后
DriverManager.registerDriver(new Driver());
3) 获取数据库连接对象
以哪一个账号 访问哪一个数据库
Connection conn = DriverManager.getConnection(url,username,psswrod);
url:
格式 : jdbc:mysql://ip地址:端口号/数据库名称
如果访问的是本地的数据库 并且端口号是默认的
jdbc:mysql:///数据库名称
username: 访问数据库的用户名称
password: 访问数据库对应的密码
4) 获取执行sql语句的对象,通过Connection对象获取到的
Stament
PreparedStament 是 Stament 的子接口 解决的是SQL注入问题
5) 执行sql语句 PreparedStament对象来执行
6) 处理结果
DML DDL 语句 : int executeUpdate
返回值 : 返回的是受影响的行数 如果该返回值大于0 说明执行成功
DQL 语句 : ResltSet executeQuery
返回值 : ResltSet
** 案例 : 读取数据库中的数据,将每一行数据封装为一个对象,并放入集合中返回
7) 释放资源
ResltSet
PreparedStament
Connection
分别调用各自的close方法
自定义JDBCUtils
3、掌握JDBC的CRUD操作
DML DDL 语句 : int executeUpdate
返回值 : 返回的是受影响的行数 如果该返回值大于0 说明执行成功
DQL 语句 : ResltSet executeQuery
返回值 : ResltSet
** 案例 : 读取数据库中的数据,将每一行数据封装为一个对象,并放入集合中返回
4、能够完成JDBC的事务操作
Connection对象可以进行事务操作
* 开启事务:setAutoCommit(boolean autoCommit) :调用该方法设置参数为false,即开启事务
* 在执行sql之前开启事务
* 提交事务:commit()
* 当所有sql都执行完提交事务
* 回滚事务:rollback()
* 在catch中回滚事务
作者:
徐代成
时间:
2019-4-13 21:28
1.什么是JDBC,使用JDBC的好处?
JDBC就是关系型数据库连接java的规则(接口)
好处(1)代码不依赖于任何数据库
(2)只需要少量的修改就可以访问其他数据看
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
这个jar包是mysql数据库连接java的一种规则,它只是JDBC的一种规则
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
数据库驱动并不是有java提供的,它是由数据库供应商提供的,我们直接使用即可,不需要创建对象
使用反射可以降低程序的耦合性,并且在数据库更换的时候我们只需更改少量代码即可。
4.请简述JDBC编程的步骤
(1)导包
(2)加载驱动
(3)创建数据库连接对象(DriverManager.getConnection)
(4)创建数据库执行对象
(5)执行数据库语句
(6)使用执行结果
(7)释放资源
5.JdbcUtils存在的目的?
抽取重复出现的功能,可以避免代码重复出现,提高程序的执行效率
6.什么是SQL注入问题,该怎样解决?
当我们输入用户密码时我们如果使用的是字符串连接方式会将我们的SQL语句发生改变
当我们输入用户密码为字符串“ a' or '1'='1”时,我们原本引用的单引号会与字符串组合形成 'a' or '1'='1' ,password ='a' or '1'='1' ,'1'='1' 是true,中间是or连接,则密码就是true。这造成无论账号是什么密码都是true,这个问题就是SQL注入问题
结果:可以通过占位符“?”与PreparedStatment接口解决
作者:
黑马6期陈华
时间:
2019-4-13 21:35
1.什么是JDBC,使用JDBC的好处?
JDBC是Java DataBase Connectivity,是Java连接数据库的语言。
好处:只需要使用一套代码,就可以操纵不同的数据库。
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
用来将JDBC里的class文件加载进内存中,相当于JDBC的驱动。
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
new对象要传参,比较麻烦。
使用反射反射配置文件,可以灵活地修改各项配置而无需改动源代码。
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存在的目的?
简化释放资源的操作、加载驱动的操作和获取连接的操作。
6.什么是SQL注入问题,该怎样解决?
就是在输入密码登录时,通过特殊字符的拼接将密码转化成SQL表达式的一部分,使改变语义使之恒等于true,从而绕过验证直接进入数据库。
使用PreparedStatement,将sql语句预设,用户名和密码用问号作为占位符代替,避免被篡改语义。
作者:
蓝建华
时间:
2019-4-13 21:38
1.什么是JDBC,使用JDBC的好处?
答: 对关系型数据库提供java连接的规则(接口), 好处是开发只需要要去调用jdbc中的方法就可以。
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
答:可以直接创建jdbc的实现类,他是jdbc的实现类
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
答:使用反射可以降低代码直接的耦合度
4.请简述JDBC编程的步骤
1.导入驱动jar包
2.注册驱动
3.创建sql的对象
4.创建connection对象
5.创建Statement,用来执行sql
6.执行sql
7.释放资源
5.JdbcUtils存在的目的?
答:减少代码量,提高复用性
6.什么是SQL注入问题,该怎样解决?
答:在拼接sql语句的时候,有一些特殊的关键字和字符串拼接,会造成安全性问题,使用PreparedStatement来解决。
作者:
开心的小孩
时间:
2019-4-13 21:41
陈鹏涛
1.什么是JDBC,使用JDBC的好处?
Java语言操作数据库,
好处:
这套接口(jdbc)编程具有多态的好处
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类
JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口
1)jdbc很多接口定义了java连接关系型数据库规则
2)jar包里面实现了jdbc接口之后的实现类;
3)这套接口(jdbc)编程具有多态的好处
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
1class.forName(mysql),这样更换数据库时,不需要更改程序代码,程序不需要重新编译就能运行。
反射是动态编译的,程序运行期间生成指定类的对象,
可以程序运行期间生成不同的数据库驱动程序对象。
省去了固定写死一个数据库驱动对象(通过new 构造函数的方法)
,造成每更换一个数据库,要重新编译代码的问题。
2.ioc容器中生成对象时,也是根据xml配置信息中的类型,
反射生成对象的。并把这些对象存储在hashmap中,供程序调用的
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注入问题:使用PreparedStatement对象来解决
预编译的SQL:参数使用?作为占位符
作者:
庄家琦
时间:
2019-4-13 21:46
1.什么是JDBC,使用JDBC的好处?
JDBC是JAVA定义的一套所有关系型数据库的规则.
不同的数据库厂商会去以这套规则编写属于自己的数据库驱动jar包
开发者使用不同的数据库只要导入并注册该厂商的驱动就可以实现数据库与JAVA的的数据互通
减少不使用的数据库类过多.
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
该JAR包属于MYSQL的驱动
该驱动是JAVA定义JDBC规则下的接口所实现类
开发者只需导入注册jar包
调用JAR包内的类与方法就可实现数据库与JAVA的数据互通
看得出JAVA功能强大
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
反射的好处之前有提到1.可以在程序运行过程中动态修改对象2.解耦,提高程序的可拓展性
具体为什么用到...母鸡
4.请简述JDBC编程的步骤
1.首先在directory目录文件夹下创建一个libs文件夹导入驱动JAR包
2.注册驱动Class.forName("com.mysql.jdbc.Driver")代码向下兼容
3.获取数据库连接对象DriverManager.getConnection("jdbc:mysql://ip地址:端口号(本机可省略)/数据库名", "用户名", "密码")
4.定义SQL语句(等同于编写在SQLyog的代码)通过Connection对象获取使用内部PreparedStament方法(Stament不推荐用)
5.获取SQL的对象
6.执行SQL对象 .executeUpdate(括号内放第四步的对象)
7.处理结果
8.释放资源(从最后调用的对象开始释放)
5.JdbcUtils存在的目的?
1.内部实现静态代码块.只会执行一次.读取一次拿到所有数据(提高性能)
2.每次JDBC编程步骤重复度过高可以通过JdbcUtils封装部分代码(读取资源文件,加载文件,注册驱动及释放资源)
3.不同的数据库或用户名密码只需在jdbc.properties文件内修改路径用户名密码就可以实现不修改JdbcUtils源代码
6.什么是SQL注入问题,该怎样解决?
用户输入的密码和 SQL 语句进行字符串拼接。用户输入的内容作为了 SQL 语句语法的一部分, 改变了
原有 SQL 真正的意义, 以上问题称为 SQL 注入。要解决 SQL 注入就不能让用户输入的密码和我们的 SQL 语句进
行简单的字符串拼接。
当验证用户名及密码是使用Stament方法拼接完成的.会导致用户输入与SQL语法有关的编码 会改变该条验证原有意义.这样的问题成为SQL注入.
解决SQL注入需要修改用户名及密码验证的方式.不能使用Stament方法拼接.使用Stament方法的子类PreparedStament方法可以解决密码导致SQL语法验证错误的问题.
作者:
李伟艺
时间:
2019-4-13 21:47
1.什么是JDBC,使用JDBC的好处?
JDBC就是Java数据库连接,JDBC是Java提供给各大数据库厂商的一套标准接口, 厂商只需要编写满足给定接口的规范就可以进行连接了。使用JDBC可以让更多的数据库可以被Java语言所使用。
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
导入的包中有JDBC这套接口的具体实现类。 关系:Jar包中的类 实现了JDBC。
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
注册驱动的实现是通过注册驱动中的静态代码块来实现的。 使用反射的好处是,可以使代码的复用性更强。
4.请简述JDBC编程的步骤
1)导入jar包; 2)注册驱动 ;3) 获取连接对象; 4) 获取操作sql语句对象 ;5) 执行sql语句 ;6) 处理结果;7)释放资源。
5.JdbcUtils存在的目的?
解决代码冗余的问题。
6.什么是SQL注入问题,该怎样解决?
就是输入的sql语句,避开了sql的检测。解决方法是使用预处理Statement.
7.事务的作用是什么?
保证数据的完整性和安全性。
作者:
龙舟
时间:
2019-4-13 21:47
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注入的情况。
作者:
厦门第六期刘鹏
时间:
2019-4-13 21:49
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来解决
作者:
曾伟清
时间:
2019-4-13 21:49
1.什么是JDBC,使用JDBC的好处?
答:是关系型数据库连接java的一套规则,可以用java操作所有的关系型数据库。
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
答:我们导入的jar包是由各大数据库厂商实现的JDBC的子实现类对象,可以给jdk内置的Connection,Statement进行赋值。
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
答:因为反射是动态编译的,程序运行期间生成指定类的对象,
这样就可以程序运行期间生成不同的数据库驱动程序对象。省去了固定写死一个数据库驱动对象(通过new 构造函数的方法),造成每更换一个数据库,要重新编译代码的问题。
4.请简述JDBC编程的步骤
答:(1)导入jar包 (2)注册驱动 (3)获取数据库连接对象 (4)获取执行sql语句对象 (6)执行SQL语句 (7)处理结果 (8)释放资源
5.JdbcUtils存在的目的?
答:(1)将获取connection对象和释放资源代码抽取出来放在JdbcUtils类中,之后获取connection对象和释放资源可以直接使用JdbcUtils.方法,简化了代码书写。
(2)因为使用配置文件,之后修改连接的数据库或者不同数据的jar包,可以直接修改配置文件,不用改代码。
6.什么是SQL注入问题,该怎样解决?
答:在拼接sql时有一些sql的特殊关键字参与字符串的拼接,会造成安全性问题。
使用preparestatement对象来解决。
作者:
卢春旭
时间:
2019-4-13 21:51
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对象来解决。
作者:
陈志铖
时间:
2019-4-13 21:51
1、理解JDBC相关概念
JDBC : 是关系型数据库连接Java的一套规则(接口)
可以给我们JDK中内置的 Connection Stament 进行赋值 创建子实现类对象 (由各大数据库厂商实现 jar包)
2、掌握JDBC连接数据库基本步骤
1) 导入jar包 (mysql jar包 oracle jar包)
2) 注册驱动
mysql5版本之前
Class.forName("com.mysql.jdbc.Driver"); // 代码的向下兼容
mysql5版本之后
DriverManager.registerDriver(new Driver());
3) 获取数据库连接对象
以哪一个账号 访问哪一个数据库
Connection conn = DriverManager.getConnection(url,username,psswrod);
url:
格式 : jdbc:mysql://ip地址:端口号/数据库名称
如果访问的是本地的数据库 并且端口号是默认的
jdbc:mysql:///数据库名称
username: 访问数据库的用户名称
password: 访问数据库对应的密码
4) 获取执行sql语句的对象,通过Connection对象获取到的
Stament
PreparedStament 是 Stament 的子接口 解决的是SQL注入问题
5) 执行sql语句 PreparedStament对象来执行
6) 处理结果
DML DDL 语句 : int executeUpdate
返回值 : 返回的是受影响的行数 如果该返回值大于0 说明执行成功
DQL 语句 : ResltSet executeQuery
返回值 : ResltSet
** 案例 : 读取数据库中的数据,将每一行数据封装为一个对象,并放入集合中返回
7) 释放资源
ResltSet
PreparedStament
Connection
分别调用各自的close方法
自定义JDBCUtils
3、掌握JDBC的CRUD操作
DML DDL 语句 : int executeUpdate
返回值 : 返回的是受影响的行数 如果该返回值大于0 说明执行成功
DQL 语句 : ResltSet executeQuery
返回值 : ResltSet
** 案例 : 读取数据库中的数据,将每一行数据封装为一个对象,并放入集合中返回
4、能够完成JDBC的事务操作
Connection对象可以进行事务操作
* 开启事务:setAutoCommit(boolean autoCommit) :调用该方法设置参数为false,即开启事务
* 在执行sql之前开启事务
* 提交事务:commit()
* 当所有sql都执行完提交事务
* 回滚事务:rollback()
* 在catch中回滚事务
作者:
吴越
时间:
2019-4-13 21:54
1.什么是JDBC,使用JDBC的好处?
答:JDBC是Java DataBase Connectivity Java 的缩写,指Java与数据库的连接。本质上是一个官方提供的接口,定义了所有关系型数据库的操作规则,各个数据库厂商通过实现这套接口,实现了数据库和Java的互动。我们可以使用各个数据库厂商提供的驱动jar包完成Java中操作数据库的各项功能。
好处:程序员通过使用JDBC接口中的方法,可以直接访问数据库,不需要关注功能是如何实现的。同时,满足同一套JDBC标准的java代码,进行少量的修改就可以适用于其他JDBC支持的数据库
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
答:通过导入mysql的jar包,我们可以使用驱动jar包中的实现类完成操作数据库的功能。
jar包是JDBC接口的实现类,实现了JDBC的核心API功能。
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
答:因为Driver接口的源码中,有静态代码块能够直接生成注册驱动对象:static{DriverManager.registerDriver(new Driver());}。使用反射可以提高程序的灵活性,降低耦合性。
4.请简述JDBC编程的步骤
答:
1. 导入驱动jar包
2. 注册驱动:Class.forName("com.mysql.jdbc.Driver");
3. 获取数据库连接对象 Connection
Connection conn = DriverManager.getConnection(String url, String user, String password);
4. 定义sql语句
String sql = "update account set balance = 500 where id = 1";
5. 获取执行sql的对象 Statement Statement stmt = conn.createStatement();
6. 执行sql int count = stmt.executeUpdate(sql);
7. 处理结果
8. 释放资源 stmt.close(); conn.close();
5.JdbcUtils存在的目的?
答:JDBCUtils提取了JDBC过程中重复出现的【获取Connection对象】和【释放资源】的代码,降低代码的冗余性。同时,通过配置文件引入Connection方法的参数,降低了程序的耦合性。
6.什么是SQL注入问题,该怎样解决?
答:在拼接sql时,有一些sql的特殊关键字参与字符串的拼接,会造成安全性问题。PreparedStatement对象可以解决这个问题,预编SQL语句时使用“?”作为占位符,可以防止SQL注入。
作者:
管文祥
时间:
2019-4-13 21:54
1.什么是JDBC,使用JDBC的好处?
答:JDBC就是JAVA官方定义的一套操作所有关系型数据库的规则,JDBC是一套接口,实现类由数据库的厂商来实现,并提供数据库驱动jar包。使用JDBC,可以用来操作不同的关系型数据库,程序员只需写出一套程序,就可以连接不同的关系型数据库,而且程序员只需要会调用JDBC中的方法,不需要关心实现类是怎样实现的,体现了“编写一次,处处运行的”优势。
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
答:用来实现JDBC中关系型数据库的接口,是JDBC的实现类。
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
答:使用反射可以有效的减低程序的耦合性
4.请简述JDBC编程的步骤
答: 1.导入驱动jar包;2.注册驱动;3.获取数据库连接对象Connection;4. 定义SQL语句;5.获取执行sql语句的对象Statement;6.执行sql,并处理返回的结果
5.JdbcUtils存在的目的?
答:将经常使用的;多次重复的代码抽取到工具类中;可以提高代码的复用性,和减少相同代码的编写。
6.什么是SQL注入问题,该怎样解决?
答:在拼接sql语句时,可以通过特殊的关键字参与字符串的拼接。会造成安全性问题。使用PreparedStatement预编译SQL语句可以解决。
作者:
黄成龙
时间:
2019-4-13 21:55
1.什么是JDBC,使用JDBC的好处?
JDBC是关系型数据库连接Java的标准规范,即接口,每个数据库厂商会提供编写好的数据库驱动jar包。
使用JDBC的好处:
1)程序员如果要开发访问数据库的程序,只需要调用JDBC接口中的方法,不用关注类是如何实现的;
2)使用同一套Java代码,进行少量的修改就可以访问其它的数据库。
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
jar包是JDBC接口的实现类,导入jar包后,程序员只需要调用JDBC中的方法就可以访问数据库
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
1)如果new对象的话会产生硬编码问题,就是将创建的对象写死了,如果切换数据库驱动,就需要重写修改源代码,就必须重启服务器。这就会造成我们的对象java代码练习的太紧密;
2)注册驱动方法中静态代码定义了创建驱动对象语句,如果new对象会创建两次对象;
3)使用反射方式的话解决了硬编码问题,它可以避免修改源代码的情况,我们只需要修改配置文件即可进行换库换驱动的操作。
4.请简述JDBC编程的步骤
1)导入驱动jar包;
2)使用Class.forName方法注册驱动;
3)使用DriverManager.getConnection方法获取数据库连接对象Connection;
4)定义sql语句;
5)通过Connection对象获取执行sql语句的对象Statement;
6)执行sql语句;
7)处理结果;
8)释放资源
5.JdbcUtils存在的目的?
抽取经常使用的,多次重复的代码做成一个工具类,可以提高代码的复用性,简化代码的书写
6.什么是SQL注入问题,该怎样解决?
sql注入问题:在拼接sql时,有一些sql的特殊关键字参与字符串的拼接,会造成安全性问题
解决sql注入问题:使用PreparedStatement对象来解决
作者:
小翔vvvv
时间:
2019-4-13 21:55
叶凌青
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来解决
作者:
陈驰煜
时间:
2019-4-13 21:55
本帖最后由 陈驰煜 于 2019-4-14 08:50 编辑
1.什么是JDBC,使用JDBC的好处?
JDBC是Java访问数据库的标准规范,真正怎么操作数据库还需要具体的实现类,也就是数据库驱动。每个数据库厂商根据自家数据库的通信格式编写好自己数据库的驱动。所以我们只需要会调用JDBC接口中的方法即可,数据库驱动由数据库厂商提供.
好处:
a.程序员如果要开发访问数据库的程序,只需要会调用JDBC接口中的方法即可,不用关注类是如何实现的。
b.使用同一套Java代码,进行少量的修改就可以访问其他JDBC支持的数据库
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
此jar包是由mysql数据库厂商提供的一套实现了JDBC内的接口的实现类, 我们使用此实现类创建对象就可以实现使用Java代码与mysql数据库交互, 完成增删改查、开始事务、释放资源等操作。
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
mysql5版本之前都是使用反射的方式进行注册驱动, 在运行期以反射的方式来检查JDBC驱动的主类com.mysql.jdbc.Driver是否存在,若不存则表示运行环境中没有这个驱动,可以手动catch异常, 此外可以降低代码的耦合度, 将驱动的全类名写在配置文件中可以方便于日后更换数据库时只需修改配置文件就能更换驱动;
4.请简述JDBC编程的步骤
1.导入jar包
2.注册驱动
Class.forName("com.mysql.jdbc.Driver"); //mysql 5版本之前
mysql5版本之后, Driver内置静态代码块, 可以不写注册驱动,会随着类加载而注册驱动, 但为了向下兼容, 建议写
3.获取数据库连接对象
DriverManager.getConnection(url, username, password)
url: jdbc: mysql: // ip: 端口号/数据库名称
4.获取执行sql语句的对象
conn.prepareStatement(sql语句);
5.执行sql语句
使用Statement的子接口Preparedment对象的方法执行sql语句
增删改语句: executeUpadte()
查询语句: executeQuery()
6.处理结果
executeUpadte()返回值是受影响的数据行数
executeQuery()返回值是一个ResultSet类型的结果集
7.释放资源
5.JdbcUtils存在的目的?
简化代码, 提升效率, 将注册驱动, 连接数据库, 释放资源的代码封装起来, 既提升了编写代码的效率又减少了代码的冗余情况
6.什么是SQL注入问题,该怎样解决?
使用字符串拼接执行sql语句时, 会产生sql注入的安全问题.
解决方式:
使用PreparedStatement对象实现增删改查操作, 防止sql注入问题, 且效率更高
使用预编译sql语句, 其中参数使用?作为占位符
pstate = conn.prepareStatement(String sql);
pstate.setString();
使用setXxx()方法按顺序设置?的值, 即可避免sql注入.
作者:
黄振明
时间:
2019-4-13 21:56
1.什么是JDBC,使用JDBC的好处?
答:
JDBC概念:Java DateBase Connectivity Java语言操作数据库。
他的本质是:由官方定义一套操作所有关系型数据库的规则,即接口。而关系型数据库的厂商去实现这套
接口的实现类,为我们提供可使用的不同数据库的jar包
好处:面对接口编程,所以具有多态的好处
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
答:
导入jar包后,我们便可以使用mysql数据库提供的实现类,我们就可以通过这些实现类对数据库进行操作,
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
答:
反射可以将类的各个组成部分封装为其他对象,不必再通过new去创建对象。
反射的好处:
1.可以在程序运行过程中,操作这些对象。
2.可以解耦,提高程序的可扩展性。
4.请简述JDBC编程的步骤
答:
1.导入jar包
2.注册驱动
3.获取链接数据库对象 connection对象
4.定义sql语句
5.获取执行sql语句的对象
6.执行sql
7.处理结果
8.释放资源
5.JdbcUtils存在的目的?
答:
JdbcUtils是我们自己定义所写的一个工具类,对一些具有共性的代码进行抽取,工具类的作用是让我们写代码更方便简洁一些,对于一些重复性
过高的代码,我们可以将其写进工具类中,要使用时通过类名.方法名的方式直接调用即可。
6.什么是SQL注入问题,该怎样解决?
答:
SQL注入问题:当我们在拼接sql语句是,有一些sql的特殊关键字参与字符串的拼接。会造成安全性问题。
解决SQL注入问题:使用preparedStatement对象来解决,preparedStatement接口表示预编译的SQL语句的对象,而预编译的SQL在参数中用?来作为占位符
从未解决SQL注入问题。
作者:
王旭艺
时间:
2019-4-13 21:57
1.什么是JDBC,使用JDBC的好处?
JDBC是java和关系型数据库连接的一套规则(接口),数据库厂商去实现这套接口,提供数据库驱动jar包,实现java和数据库的连接。使用JDBC就可以实现一套代码连接不同的数据库
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
它是mysql提供的连接java的jar包,jar包里边有实现了JDBC接口之后的实现类.
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将连接数据库的的固定的代码提取出来,形成一个工具类,通过工具类连接获取数据库连接,简化代码,提高了代码的复用性
6.什么是SQL注入问题,该怎样解决?
SQL注入问题:在拼接sql时,有一些sql的特殊关键字参与字符串的拼接。会造成安全性问题
解决sql注入问题:使用PreparedStatement对象来解决
作者:
李智梁
时间:
2019-4-13 21:57
1.什么是JDBC,使用JDBC的好处?
答:JDBC是sun公司定义的一套操作所有关系型数据库的规则,就是一个接口。
JDBC的好处是我们只需要使用这一套接口来操作不同的关系型数据库,这样可以用同一套代码来连接不同的数据库
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
答:jar包里面有实现了JDBC接口之后的实现类,程序员只需要将jar包集成到项目中就可以了。
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
答:使用反射可以有效的减低程序的耦合性。
4.请简述JDBC编程的步骤
答:1. 导入驱动jar包 mysql-connector-java-5.1.37-bin.jar
2. 注册驱动
3. 获取数据库连接对象
4. 定义sql语句
5. 获取执行sql语句的对象
6. 执行sql,接受返回结果
7. 处理结果
8. 释放资源
5.JdbcUtils存在的目的?
答:简化书写
6.什么是SQL注入问题,该怎样解决?
答: SQL注入问题:在拼接sql时,有一些sql的特殊关键字参与字符串的拼接。会造成安全性问题。
解决:使用PreparedStatement对象来解决,参数使用?作为占位符
如果要给?赋值:
方法: setXxx(参数1,参数2)
参数1:?的位置编号 从1 开始
参数2:?的值
作者:
林奕全
时间:
2019-4-13 21:59
1.什么是JDBC,使用JDBC的好处?
JDBC是JAVA语言操作数据库,本质上是sun公司提供了一套操作所有关系型数据库的规则,即接口. 各大数据库厂商根据接口开发的一套jar包,包里有实现这套接口的实现类.
使用JDBC可以使我们程序员只用这一套接口,就可以用各大厂商开发的jar包,操作所有关系型数据库,数据库操作更加的高效.
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
jar包里有实现这套接口的实现类,我们通过实现类来实现接口的方法,便捷操作数据库
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
因为反射是动态编译的,程序运行期间生成指定类的对象,
这样就可以程序运行期间生成不同的数据库驱动程序对象。省去了固定写死一个数据库驱动对象(通过new 构造函数的方法),造成每更换一个数据库,要重新编译代码的问题。
4.请简述JDBC编程的步骤
1.导入jar包
2.注册驱动
3.创建数据库连接对象
4.定义sql语句
5.创建sql语句的执行对象
6.执行sql语句
7.返回结果
8.释放资源
5.JdbcUtils存在的目的?
简写我们在注册驱动,创建数据库连接对象和释放资源这些繁琐的操作
6.什么是SQL注入问题,该怎样解决?
在拼接sql语句时有一些sql的特殊关键字参与字符串的拼接,会造成安全性问题。
使用preparestatement对象来解决sql注入问题。
作者:
廖艺铭
时间:
2019-4-13 22:40
1.什么是JDBC,使用JDBC的好处?
JDBC:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库
好处:由于JDBC是sun公司规定的一套操作所有关系型数据库的规则,即接口,然后由各大数据库厂商提供实现的jar包,因此开发人员只需要关注接口,面向接口编程,就可以使用同一套代码操作不同的RDBMS
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
导入的mysql-connector-java-5.1.37-bin.jar包由mysql厂商提供,里面是对JDBC接口规范的具体实现,用来操作mysql数据库
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
使用反射可以采用配置文件的方式加载类,这样如果项目换成使用别的关系型数据库,那么就只需要更改配置文件,而无需改动代码,从而提高程序的扩展性
4.请简述JDBC编程的步骤
①导入驱动jar包 mysql-connector-java-5.1.37-bin.jar
②注册驱动
③获取数据库连接对象 Connection
④定义sql
⑤获取执行sql语句的对象 Statement
⑥执行sql,接受返回结果
⑦处理结果
⑧释放资源
5.JdbcUtils存在的目的?
目的:对程序中的共性代码进行抽取,提高复用性,减少代码冗余,简化书写
6.什么是SQL注入问题,该怎样解决?
SQL注入问题:在拼接sql时,有一些sql的特殊关键字参与字符串的拼接,会造成安全性问题
解决:使用PreparedStatement对象来解决
作者:
叶振鹏
时间:
2019-4-13 22:43
1.什么是JDBC,使用JDBC的好处?
JDBC : 是关系型数据库连接Java的一套规则(接口)
好处:同一套代码可以应用于不同数据库
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
JAR包是实现了JDBC接口之后的类,能够使JDBC操作实现。
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
使用反射能够节省资源,解耦。
4.请简述JDBC编程的步骤
1.导包
2.注册驱动
3.创建数据库连接对象
4.创建执行SQL语句对象
5.根据语句选择执行方法
6.处理结果
7.关闭资源
5.JdbcUtils存在的目的?
节省资源,使代码简洁
6.什么是SQL注入问题,该怎样解决?
SQL注入问题是createStatement将某个指令代入数据库执行时,实际结果和需求不符,导致BUG,因此采用了prepareStatement方法来解决。
作者:
叶彬彬
时间:
2019-4-14 00:14
1.什么是JDBC,使用JDBC的好处?
JDBC是Java访问数据库的标准规范
好处:1.程序员开发数据库的程序,只需要会调用JDBC接口中的方法即可,不用关注类是如何实现的
2.使用同一套Java代码,进行少量的修改就可以访问其他JDBC支持的数据库
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
用处:导入的jar包是用来执行我们写的SQL语句的实现类
关系:jar包里面是JDBC的实现类
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
好处: 1.可以在程序运行过程中,操作这些对象。
2. 可以解耦,提高程序的可扩展性。
4.请简述JDBC编程的步骤
1.导入jar包
2.注册驱动
3.获取数据库连接对象 Connection
4.定义sql
5.获取执行sql语句的对象Statement
6.执行sql,接收返回结果
7.处理结果
8.释放资源
5.JdbcUtils存在的目的?
简化书写
6.什么是SQL注入问题,该怎样解决?
使用createStatement()获取执行sql的对象,有可能出现内容过滤不严谨的情况。
解决方案:使用PreparedStament()获取执行生气了的对象
作者:
唐彬桂
时间:
2019-4-14 08:40
1.什么是JDBC,使用JDBC的好处?
JDBC是关系型数据库连接Java的一套规则(接口)
好处:程序员在开发数据库时,只用调用JDBC接口中的方法即可,不用再去关注类是如何实现的;
具有多态的好处,即一套代码可以使用多种数据库
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
用来执行对MySQL数据库的操作语句的实现类,即JDBC的实现类
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
使用反射来解决耦合度高的问题,如果我们需要更换其他库的话new对象就需要去改动源码,这样需要关闭服务器来进行操作,
而通过反射的方式注册驱动的话,可以通过修改配置文件来达到修改整体的目的
4.请简述JDBC编程的步骤
1.导入jar包
2.注册驱动
3.获取数据库对象
4.编写sql语句
5.获取执行sql语句的对象
6.执行sql语句
7.释放资源
5.JdbcUtils存在的目的?
能使我们少打一写重复的代码
6.什么是SQL注入问题,该怎样解决?
在拼接sql时,有一些sql的特殊关键字参与字符串的拼接,会造成安全性问题,
解决方式:使用PreparedStatement对象,预编译sql参数使用占位符?,然后给?赋值,来解决sql注入问题
作者:
zhaizhile
时间:
2019-4-14 08:41
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 语句进行简单的字符串拼接。
作者:
zhaizhile
时间:
2019-4-14 08:42
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 语句进行简单的字符串拼接。
作者:
刘曾铭
时间:
2019-4-14 08:43
1.什么是JDBC,使用JDBC的好处?
答:
概念:是关系型数据库连接java的一套规则,即接口;
好处:
程序员在开发数据库时,只用调用JDBC接口中的方法即可,不用再去关注类是如何实现的;
具有多态的好处,即一套代码可以使用多种数据库;
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
答:
作用:里面有实现了JDBC接口之后的实现类
关系:我们在使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类;
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
答:
作用:直接nwe的话,不管有没有用都会创建对象,而使用反射是只有要用到时才会创建对象,这样更节省内存,而且还有解耦作用;
好处:
可以在程序运行过程中,操作这些对象;
可以解耦,提高程序的可扩展性;
4.请简述JDBC编程的步骤
答:
步骤:
1.导入jar包;
2.注册驱动;
3.获取数据库连接对象;
4.获取执行sql语句的对象;
5.执行sql语句;
6.处理结果;
7.释放资源;
5.JdbcUtils存在的目的?
答:
目的:简化代码的书写;
6.什么是SQL注入问题,该怎样解决?
答:
概念:在拼接SQL语句时,如果有一些SQL特殊关键字参与字符串的拼接,则会造成安全问题;
解决方法:使用preparedStatement 对象来解决,进行预编译的SQL;
作者:
JavaEE06蒋才东
时间:
2019-4-14 08:48
1.什么是JDBC,使用JDBC的好处?
JDBC是关系型数据库连接Java的标准规范,即接口,每个数据库厂商会提供编写好的数据库驱动jar包。
使用JDBC的好处:
1)程序员如果要开发访问数据库的程序,只需要调用JDBC接口中的方法,不用关注类是如何实现的;
2)使用同一套Java代码,进行少量的修改就可以访问其它的数据库。
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
jar包是JDBC接口的实现类,导入jar包后,程序员只需要调用JDBC中的方法就可以访问数据库
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
1)如果new对象的话会产生硬编码问题,就是将创建的对象写死了,如果切换数据库驱动,就需要重写修改源代码,就必须重启服务器。这就会造成我们的对象java代码练习的太紧密;
2)注册驱动方法中静态代码定义了创建驱动对象语句,如果new对象会创建两次对象;
3)使用反射方式的话解决了硬编码问题,它可以避免修改源代码的情况,我们只需要修改配置文件即可进行换库换驱动的操作。
4.请简述JDBC编程的步骤
1)导入驱动jar包;
2)使用Class.forName方法注册驱动;
3)使用DriverManager.getConnection方法获取数据库连接对象Connection;
4)定义sql语句;
5)通过Connection对象获取执行sql语句的对象Statement;
6)执行sql语句;
7)处理结果;
8)释放资源
5.JdbcUtils存在的目的?
抽取经常使用的,多次重复的代码做成一个工具类,可以提高代码的复用性,简化代码的书写
6.什么是SQL注入问题,该怎样解决?
sql注入问题:在拼接sql时,有一些sql的特殊关键字参与字符串的拼接,会造成安全性问题
解决sql注入问题:使用PreparedStatement对象来解决
作者:
陈驰煜
时间:
2019-4-14 08:50
1.什么是JDBC,使用JDBC的好处?
JDBC是Java访问数据库的标准规范,真正怎么操作数据库还需要具体的实现类,也就是数据库驱动。每个数据库厂商根据自家数据库的通信格式编写好自己数据库的驱动。所以我们只需要会调用JDBC接口中的方法即可,数据库驱动由数据库厂商提供.
好处:
a.程序员如果要开发访问数据库的程序,只需要会调用JDBC接口中的方法即可,不用关注类是如何实现的。
b.使用同一套Java代码,进行少量的修改就可以访问其他JDBC支持的数据库
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
此jar包是由mysql数据库厂商提供的一套实现了JDBC内的接口的实现类, 我们使用此实现类创建对象就可以实现使用Java代码与mysql数据库交互, 完成增删改查、开始事务、释放资源等操作。
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
mysql5版本之前都是使用反射的方式进行注册驱动, 在运行期以反射的方式来检查JDBC驱动的主类com.mysql.jdbc.Driver是否存在,若不存则表示运行环境中没有这个驱动,可以手动catch异常;
好处: 当驱动jar包不存在时,我们可以做更多的操作(如捕获异常)
4.请简述JDBC编程的步骤
1.导入jar包
2.注册驱动
Class.forName("com.mysql.jdbc.Driver"); //mysql 5版本之前
mysql5版本之后, Driver内置静态代码块, 可以不写注册驱动,会随着类加载而注册驱动, 但为了向下兼容, 建议写
3.获取数据库连接对象
DriverManager.getConnection(url, username, password)
url: jdbc: mysql: // ip: 端口号/数据库名称
4.获取执行sql语句的对象
conn.prepareStatement(sql语句);
5.执行sql语句
使用Statement的子接口Preparedment对象的方法执行sql语句
增删改语句: executeUpadte()
查询语句: executeQuery()
6.处理结果
executeUpadte()返回值是受影响的数据行数
executeQuery()返回值是一个ResultSet类型的结果集
7.释放资源
5.JdbcUtils存在的目的?
简化代码, 提升效率, 将注册驱动, 连接数据库, 释放资源的代码封装起来, 既提升了编写代码的效率又减少了代码的冗余情况
6.什么是SQL注入问题,该怎样解决?
使用字符串拼接执行sql语句时, 会产生sql注入的安全问题.
解决方式:
使用PreparedStatement对象实现增删改查操作, 防止sql注入问题, 且效率更高
使用预编译sql语句, 其中参数使用?作为占位符
pstate = conn.prepareStatement(String sql);
pstate.setString();
使用setXxx()方法按顺序设置?的值, 即可避免sql注入.
作者:
chenopen
时间:
2019-4-14 10:01
陈开明:
1.什么是JDBC,使用JDBC的好处?
JDBC是官方定义的一套操作所以数据库的规则,即接口。
好处:
1、程序员如果要开发访问数据库的程序,只需要会调用JDBC接口中的方法即可,不用关注类是如何实现的。
2、使用同一套java代码,进行少量的修改就可以访问其他JDBC支持的数据库。
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
jar是具体某个数据库的驱动程序。它是JDBC接口的实现类。
如果没有导入这个包,java本身并没有内置访问数据库的驱动程序,我们是没办法通过java和数据库进行连接的。
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
因为使用反射来注册驱动,当我们更换数据库时候,不需要更改程序代码,只需要修改配置文件即可。
如果使用了new来创建对象,每次更改数据库都要重新修改代码,重新编译。
4.请简述JDBC编程的步骤
1、导入驱动jar包
2、注册驱动--将字节码文件加载到内存中
3、获取数据库连接对象
4、定义sql
5、获取执行sql语句的对象
6、执行sql,接受返回的结果
7、处理结果
8、释放资源
5.JdbcUtils存在的目的?
提高代码的复用性,使编码更为简洁。
6.什么是SQL注入问题,该怎样解决?
SQL注入:用户输入的内容作为SQL语句语法的一部分,改变了原有SQL真正的意义。使用PreparedSatement接口预编译原理,使用占位符解决。
作者:
李煜霖
时间:
2019-4-14 13:19
1.什么是JDBC,使用JDBC的好处?
JDBC : 是关系型数据库连接Java的一套规则(接口)
好处:同一套代码可以应用于不同数据库
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
JAR包是实现了JDBC接口之后的类,能够使JDBC操作实现。
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
使用反射能够节省资源,解耦。
4.请简述JDBC编程的步骤
1.导包
2.注册驱动
3.创建数据库连接对象
4.创建执行SQL语句对象
5.根据语句选择执行方法
6.处理结果
7.关闭资源
5.JdbcUtils存在的目的?
节省资源,使代码简洁
6.什么是SQL注入问题,该怎样解决?
SQL注入问题是createStatement将某个指令代入数据库执行时,实际结果和需求不符,导致BUG,因此采用了prepareStatement方法来解决。
作者:
6期江岳
时间:
2019-4-14 18:26
1.什么是JDBC,使用JDBC的好处?
是关系型数据库连接Java的一套规则(接口)可以给我们JDK中内置的 Connection Statement 进行赋值 创建子实现类对象 (由各大数据库厂商实现 jar包)
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
他是jdbc接口的实现类,我们通过包内的实现方法对数据库进行操作
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
因为反射是动态编译的,程序运行期间生成指定类的对象,这样就可以程序运行期间生成不同的数据库驱动程序对象。省去了固定写死一个数据库驱动对象(通过new 构造函数的方法),造成每更换一个数据库,要重新编译代码的问题。
4.请简述JDBC编程的步骤
(1)导入jar包 (2)注册驱动 (3)获取数据库连接对象 (4)获取执行sql语句对象 (6)执行SQL语句 (7)处理结果 (8)释放资源
5.JdbcUtils存在的目的?
将每次jdbc编程过程中共性的代码抽取出来,提高代码的复用性
6.什么是SQL注入问题,该怎样解决?
在拼接SQL语句时由于手动输入的参数改变了条件,造成安全问题
使用preparedstatement对象方法解决。
作者:
卢勇炜
时间:
2019-4-14 19:54
1、理解JDBC相关概念
这是关系型数据库连接Java的一套规则(接口),可以给我们JDK中内置的 Connection Stament 进行赋值 创建子实现类对象 。
2、掌握JDBC连接数据库基本步骤
1) 导入jar包 (mysql jar包 oracle jar包)
2) 注册驱动
mysql5版本之前
Class.forName("com.mysql.jdbc.Driver"); // 代码的向下兼容
mysql5版本之后
DriverManager.registerDriver(new Driver());
3) 获取数据库连接对象
以哪一个账号 访问哪一个数据库
Connection conn = DriverManager.getConnection(url,username,psswrod);
url:
格式 : jdbc:mysql://ip地址:端口号/数据库名称
如果访问的是本地的数据库 并且端口号是默认的
jdbc:mysql:///数据库名称
username: 访问数据库的用户名称
password: 访问数据库对应的密码
4) 获取执行sql语句的对象,通过Connection对象获取到的
Stament
PreparedStament 是 Stament 的子接口 解决的是SQL注入问题
5) 执行sql语句 PreparedStament对象来执行
6) 处理结果
DML DDL 语句 : int executeUpdate
返回值 : 返回的是受影响的行数 如果该返回值大于0 说明执行成功
DQL 语句 : ResltSet executeQuery
返回值 : ResltSet
** 案例 : 读取数据库中的数据,将每一行数据封装为一个对象,并放入集合中返回
7) 释放资源
ResltSet
PreparedStament
Connection
分别调用各自的close方法
自定义JDBCUtils
3、掌握JDBC的CRUD操作
DML DDL 语句 : int executeUpdate
返回值 : 返回的是受影响的行数 如果该返回值大于0 说明执行成功
DQL 语句 : ResltSet executeQuery
返回值 : ResltSet
** 案例 : 读取数据库中的数据,将每一行数据封装为一个对象,并放入集合中返回
4、能够完成JDBC的事务操作
Connection对象可以进行事务操作
* 开启事务:setAutoCommit(boolean autoCommit) :调用该方法设置参数为false,即开启事务
* 在执行sql之前开启事务
* 提交事务:commit()
* 当所有sql都执行完提交事务
* 回滚事务:rollback()
作者:
javawjs
时间:
2019-4-14 19:59
王佳盛
1.什么是JDBC,使用JDBC的好处?
JDBC是java官方定义的操作所有关系型数据库的接口,各个数据库厂商想连接java得去实现这些接口。
好处:使用同一套java代码,进行少量的修改就可以访问其他的数据库了,而不用去学每个数据的规则了;
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
是mysql数据对jdbc接口的实现类包,免去程序员去自定义实现类
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
使用反射原理是为了使注册驱动的过程解耦和,因为如果new对象的话,耦合度太高,会存在硬编码问题,而且通过创建对象的方式注册驱动的话会把这个过程写死,当需要切换数据库的时候,就只能关闭数据库之后修改原代码才能切换。
而使用反射的方式的话,会把注册的信息放到配置文件中,如果要切换数据库,只需要改变配置文件中的内容,不需要修改源代码。
使用反射的好处有2处:1.使程序解耦和,解决了硬编码问题,2.避免了重复创建对象引用。
4.请简述JDBC编程的步骤
1.导入jar包
2.注册驱动
3.获取数据库连接对象 Connection
4.编写sql语言
5.获取sql语句对象,传入sql语言 Statement
6.执行sql语句,接受返回结果
7.处理结果
8.释放资源
5.JdbcUtils存在的目的?
工具类,可以帮我们免去jdbc编程的注册驱动、连接对象、释放资源的重复编写
6.什么是SQL注入问题,该怎样解决?
sql注入问题:当我们输入的密码不正确的时候还可以登入数据库成功
解决办法:使用PreparedStatement 接口,因为有预先编译的功能,提高 SQL 的执行效率。
可以有效的防止 SQL 注入的问题,安全性更高。
作者:
黄杰南
时间:
2019-4-14 21:31
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注入问题
作者:
omasoo
时间:
2019-4-14 21:31
李伟斌
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注入问题。
作者:
钟扬辉
时间:
2019-4-16 21:14
1.什么是JDBC,使用JDBC的好处?
答:JDBC是Java DataBase Connectivity Java 的缩写,指Java与数据库的连接。本质上是一个官方提供的接口,定义了所有关系型数据库的操作规则,各个数据库厂商通过实现这套接口,实现了数据库和Java的互动。我们可以使用各个数据库厂商提供的驱动jar包完成Java中操作数据库的各项功能。
好处:程序员通过使用JDBC接口中的方法,可以直接访问数据库,不需要关注功能是如何实现的。同时,满足同一套JDBC标准的java代码,进行少量的修改就可以适用于其他JDBC支持的数据库
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
答:通过导入mysql的jar包,我们可以使用驱动jar包中的实现类完成操作数据库的功能。
jar包是JDBC接口的实现类,实现了JDBC的核心API功能。
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
答:因为Driver接口的源码中,有静态代码块能够直接生成注册驱动对象:static{DriverManager.registerDriver(new Driver());}。使用反射可以提高程序的灵活性,降低耦合性。
4.请简述JDBC编程的步骤
答:
1. 导入驱动jar包
2. 注册驱动:Class.forName("com.mysql.jdbc.Driver");
3. 获取数据库连接对象 Connection
Connection conn = DriverManager.getConnection(String url, String user, String password);
4. 定义sql语句
String sql = "update account set balance = 500 where id = 1";
5. 获取执行sql的对象 Statement Statement stmt = conn.createStatement();
6. 执行sql int count = stmt.executeUpdate(sql);
7. 处理结果
8. 释放资源 stmt.close(); conn.close();
5.JdbcUtils存在的目的?
答:JDBCUtils提取了JDBC过程中重复出现的【获取Connection对象】和【释放资源】的代码,降低代码的冗余性。同时,通过配置文件引入Connection方法的参数,降低了程序的耦合性。
6.什么是SQL注入问题,该怎样解决?
答:在拼接sql时,有一些sql的特殊关键字参与字符串的拼接,会造成安全性问题。PreparedStatement对象可以解决这个问题,预编SQL语句时使用“?”作为占位符,可以防止SQL注入。
作者:
沈松宏
时间:
2019-4-19 18:18
1.什么是JDBC,使用JDBC的好处?
关系型数据库连接java的一套规则(接口)
好处:
程序员在开发数据库时,只用调用JDBC接口中的方法即可,不用再去关注类是如何实现的;
具有多态的好处,即一套代码可以使用多种数据库;
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,作用:里面有实现了JDBC接口之后的实现类
关系:我们在使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类;
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
作用:直接nwe的话,不管有没有用都会创建对象,而使用反射是只有要用到时才会创建对象,这样更节省内存,而且还有解耦作用;
好处:
可以在程序运行过程中,操作这些对象;
可以解耦,提高程序的可扩展性;
4.请简述JDBC编程的步骤
1.注册驱动
2.获取连接对象
3.sql语句的书写
4.使用connection获取执行对象statement
5.statement.executorupdate(执行dml或ddl语句)
statement.executorquery(执行dql语句)
5.JdbcUtils存在的目的?
简化代码
6.什么是SQL注入问题,该怎样解决?
使用preparestatement
作者:
LIUXIAOMING
时间:
2019-4-19 18:46
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注入问题。
作者:
陈弘帅
时间:
2019-4-19 19:14
1.什么是JDBC,使用JDBC的好处?
JDBC是java官方定义的操作所有关系型数据库的接口,各个数据库厂商想连接java得去实现这些接口。
好处:使用同一套java代码,进行少量的修改就可以访问其他的数据库了,而不用去学每个数据的规则了;
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
是mysql数据对jdbc接口的实现类包,免去程序员去自定义实现类
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
使用反射原理是为了使注册驱动的过程解耦和,因为如果new对象的话,耦合度太高,会存在硬编码问题,而且通过创建对象的方式注册驱动的话会把这个过程写死,当需要切换数据库的时候,就只能关闭数据库之后修改原代码才能切换。
而使用反射的方式的话,会把注册的信息放到配置文件中,如果要切换数据库,只需要改变配置文件中的内容,不需要修改源代码。
使用反射的好处有2处:1.使程序解耦和,解决了硬编码问题,2.避免了重复创建对象引用。
4.请简述JDBC编程的步骤
1.导入jar包
2.注册驱动
3.获取数据库连接对象 Connection
4.编写sql语言
5.获取sql语句对象,传入sql语言 Statement
6.执行sql语句,接受返回结果
7.处理结果
8.释放资源
5.JdbcUtils存在的目的?
工具类,可以帮我们免去jdbc编程的注册驱动、连接对象、释放资源的重复编写
6.什么是SQL注入问题,该怎样解决?
sql注入问题:当我们输入的密码不正确的时候还可以登入数据库成功
解决办法:使用PreparedStatement 接口,因为有预先编译的功能,提高 SQL 的执行效率。
可以有效的防止 SQL 注入的问题,安全性更高。
作者:
张广发
时间:
2019-4-19 19:16
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 语句进行简单的字符串拼接。
作者:
苏森鹏
时间:
2019-4-19 19:17
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注入问题。
作者:
龚荣章
时间:
2019-4-19 20:05
1.什么是JDBC,使用JDBC的好处?
JDBC:是java DataBase Connnectivity的简称:数据库连接
本质:定义的一套规则用来连接所有关系型数据库的接口,由数据库的厂商去实现接口提供jar包。
好处:我们只要使用这一套接口就可以操作不同的数据库,用这一套代码来连接不同的数据库
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
用处:导入的jar包是用来执行我们写的SQL语句的实现类
关系:jar包里面是JDBC的实现类
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
使用反射技术可以解决耦合度高的问题,new对象的话只能使用当前数据库要用其他数据库就要改动源码,使用反射机制的话可以通过properties集合来设置配置文件读取信息,这样我们只要改动配置文件即可
4.请简述JDBC编程的步骤
步奏:
①导入数据库jar包 右键运行jar包
②获取数据库字节码文件,告诉程序使用的数据库
③获取数据库对象连接数据库
④书写SQL语句
⑤获取SQL语句对象
⑥执行SQL语句 (要分辨是DML还是DQL语句对应的执行方法不同)
⑦释放流
5.JdbcUtils存在的目的?
抽取类中共性的集成成为一个工具类,方便使用不用编写重复代码
6.什么是SQL注入问题,该怎样解决?
SQL注入问题:statement执行sql语句,拼接sql语句时候会发现有一些特殊的语句“恒等式”参与拼接时会造成安全性问题造成用户密码不对也可登陆
解决:使用PreparedStatement对象来替代statement对象执行sql语句
作者:
Wyt1935
时间:
2019-4-20 11:28
1.什么是JDBC,使用JDBC的好处?
JDBC是java官方定义的操作所有关系型数据库的接口,各个数据库厂商想连接java得去实现这些接口。
好处:使用同一套java代码,进行少量的修改就可以访问其他的数据库了,而不用去学每个数据的规则了;
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
是mysql数据对jdbc接口的实现类包,免去程序员去自定义实现类
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
使用反射原理是为了使注册驱动的过程解耦和,因为如果new对象的话,耦合度太高,会存在硬编码问题,而且通过创建对象的方式注册驱动的话会把这个过程写死,当需要切换数据库的时候,就只能关闭数据库之后修改原代码才能切换。
而使用反射的方式的话,会把注册的信息放到配置文件中,如果要切换数据库,只需要改变配置文件中的内容,不需要修改源代码。
使用反射的好处有2处:1.使程序解耦和,解决了硬编码问题,2.避免了重复创建对象引用。
4.请简述JDBC编程的步骤
1.导入jar包
2.注册驱动
3.获取数据库连接对象 Connection
4.编写sql语言
5.获取sql语句对象,传入sql语言 Statement
6.执行sql语句,接受返回结果
7.处理结果
8.释放资源
5.JdbcUtils存在的目的?
工具类,可以帮我们免去jdbc编程的注册驱动、连接对象、释放资源的重复编写
6.什么是SQL注入问题,该怎样解决?
sql注入问题:当我们输入的密码不正确的时候还可以登入数据库成功
解决办法:使用PreparedStatement 接口,因为有预先编译的功能,提高 SQL 的执行效率。
可以有效的防止 SQL 注入的问题,安全性更高。
作者:
魏政
时间:
2019-4-20 14:36
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注入问题。
作者:
陈鉴
时间:
2019-4-20 20:52
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注入问题。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2