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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1.JDBC 是java连接数据库的一种规则,好处1.访问数据库,只需要调用JDBC接口方法即可,不用关注类是如何实现的2.使用同一套代码,进行少量修改 就可以访问其他JDBC支持的数据库
2.提供驱动,注册驱动,jar包是由数据库厂商提供
3.灵活 解耦
4.导入Jar包. 注册加载驱动,连接数据库对象,定义sql,获取执行sql语句对象,执行sql,处理结果,释放资源
5.工具类,目的是简化代码,在不同的地图重用
6.用户输入的密码和 SQL 语句进行字符串拼接。用户输入的内容作为了 SQL 语句语法的一部分,改变了 原有 SQL 真正的意义
回复 使用道具 举报
1.什么是JDBC,使用JDBC的好处?
jdbc是java和数据库对接的一种规则(接口),好处:只定义了规则,只要符合规则就可以操作
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
让java和jdbc连接,是mysql定义的一个规则接口
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
不用频繁的创建对象,不需要修改代码直接在运行过程操作
4.请简述JDBC编程的步骤
导包—>注册驱动—>获得sql语句—>获取执行对象->执行语句->释放资源
5.JdbcUtils存在的目的?
解决代码的冗余问题
6.什么是SQL注入问题,该怎样解决?
利用字符串的拼接规则和SQL语句的特点,将定义的SQL语句逻辑改变,造成数据安全问题;
使用prepareStatement接口结局,用通配符代替传统拼接,避免了sql注入问题。
周家乾




回复 使用道具 举报
1.什么是JDBC,使用JDBC的好处?
答:可以操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,
提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是
驱动jar包中的实现类。

2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
答:注册驱动后则可以用里面的类,进行少量的修改就可以访问其他JDBC支持的数据库,
可以使我们可以用java语言操作数据库.

3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
答:反射只需要字节码文件就可以创建对象从而使用方法,解耦度较高,new对象很麻烦,又占内存
提高程序的可扩展性,更换数据库时比较方便

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

5.JdbcUtils存在的目的?
答:可以将重复代码进行封装,提高代码复用性,可以简化代码,提高效率

6.什么是SQL注入问题,该怎样解决?
答:就是输入的sql通过字符串拼接改变原有sql真正意义,避开了sql的检测。
    解决SQL注入问题的方法是使用预处理Statement.



(黄嘉欣)
回复 使用道具 举报
邵倩



1. Java 数据库连接,  sun公司定义的一套操作所有关系型数据库的规则,即接口
好处: 1) 程序员如果要开发访问数据库的程序,只需要会调用 JDBC 接口中的方法即可,不用关注类是如何实现的。
           2) 使用同一套 Java 代码,进行少量的修改就可以访问其他 JDBC 支持的数据库

2. mysql数据库驱动包  
实现Java程序访问mysql数据库的前提  
其中的实现类实现了JDBC接口

3.反射是对一个类的主动使用,会触发类的初始化过程,在jvm定义中,凡是主动对一个类的使用,就会触发初始化,既然初始化触发,那么“加载,连接,初始化”肯定都执行了。
所谓初始化,就是调用其静态代码块,为静态变量赋值。
只要是对com.mysql.jdbc.Driver 的主动使用都会触发注册操作,因为反射是运行时根据全类名动态生成的Class对象,因此可以把这个全类名写到配置文件中去,实现了解耦和,更换数据库时,也不需要重新编译代码
如果在代码里直接new 个mysql的Driver,那换数据库时还要修改代码中new 的Driver

4.贾琏欲执事

5.将注册驱动,获取连接,释放资源等重复的代码抽取出来 进行复用

6.利用拼接字符串的弊端 username= '' or 1=1  由于1=1永远成立,所以这句SQL将肯定成功返回  直接绕过登录
  使用PreparedStatement  预编译sql语句的方式解决
回复 使用道具 举报
1.什么是JDBC,使用JDBC的好处?
  1)  程序员如果要开发访问数据库的程序,只需要会调用 JDBC 接口中的方法即可,不用关注类是如何实现的。
2)  使用同一套 Java 代码,进行少量的修改就可以访问其他 JDBC 支持的数据库
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
注册驱动后使用包里面的接口实现类,实现驱动
2.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
方便以后更改其他数据库厂家的使用,更灵活
3.请简述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 注入问题,解决方法用预处理statement。
回复 使用道具 举报
邹毅涛
1.什么是JDBC,使用JDBC的好处?
JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,使用JDBC的好处是数据库与java语言建立连接,访问数据库只需实现接口即可。
2.我们导入的 mysql-connector-java-5.1.37-bin.jar包,有什么用,他和JDBC有什么关系?
导入的包是数据库厂商提供的驱动包,它包含JDBC中接口的实现类。
3.注册驱动为什么使用反射的方式,而不是像以前一样,我们new对象?使用反射又有什么好处?
用new创建对象在更换数据库时也要相应改变对应的数据库信息。用反射的方式可以动态加载配置文件注册驱动,解耦。
4.请简述JDBC编程的步骤
导入jar包,注册驱动,定义sql语言,获取数据库连接对象,获取执行对象,执行sql获取结果,对结果进行处理,释放资源
5.JdbcUtils存在的目的?
减少代码冗余,封装好方法简化书写。
6.什么是SQL注入问题,该怎样解决?
通过特殊的sql语句字符串传回给数据库,是结果异常。
用prepareStatment方法
回复 使用道具 举报
123
您需要登录后才可以回帖 登录 | 加入黑马