JDBC中的各个对象介绍其作用

DriverManager驱动管理对象

DriverManager对象的功能

1、注册驱动:告诉我们的程序该使用哪个数据库的jar包

Class.forName("com.mysql.jdbc.Driver");

这里出现了一个问题

明明这个步骤仅仅是把Driver的字节码文件加载进内存,而注册驱动的方法是DriverManager的一个静态方法,但是为什么我们却说这一步的是为了注册驱动呢?

加载驱动的方法:
在这里插入图片描述

解释:

通过查看源代码:
在这里插入图片描述
发现在静态代码块当中执行了DriverManager中的registerDriver方法来注册驱动。
而静态代码块当中的内容,当字节码文件加载到内存当中的时候就会自动执行,所以说不用我们调用该方法仅仅把字节码文件加载到内存也可以进行注册驱动的操作

注意:

在mysql5版本之后即使我们不注册驱动,他也会默认帮我们注册驱动
在这里插入图片描述

该文件当中的内容如下
在这里插入图片描述
如果我们没有注册驱动,那么驱动jar包会先去读取该文件,自动帮我们注册驱动

2、获取数据库连接

static Connection getConnection(String url, String user, String password)

参数

(1)url:指定连接的路径
① 语法: jdbc:mysql://ip地址(域名):端口号/数据库名称
② 例子:jdbc:mysql://localhost:3306/db3
注意:如果连接的是本机mysql服务器,并且mysql服务默认端口号是3306,则url可以简写为jdbc:mysql:///数据库名
(2)user:用户名
(3)password:密码


Connection数据库连接对象

Connection数据库连接对象的功能

1、获取执行sql的对象

Statement createStatement( )
PreparedStatement prepareStatement(String sql

2、管理事务

① 开启事务:
setAutoCommit(boolean autoCommit):调用该方法设置参数为false,即开启事务
② 提交事务
commit()
③ 回滚事务
rolback()


Statement:执行sql的对象

Statement对象的功能就是执行sql语句

1、执行sql语句的方法

boolean execute(String sql):执行任意的sql语句
int executeUpdate(String sql):执行DML语句也就是增删改的语句、执行DDL语句就是创建删除表和库的语句
注意
这里的返回值int表示的是影响的行数(就是我们平时使用数据库执行增删该的语句的时候,有一个影响行数就是这个),我们可以通过这个返回值判断DML语句是否执行成功,如果大于0的话就执行成功,反之则失败
ResultSet executeQuery(String sql):执行DQL语句的,也就是查询语句
这里返回值的意思是一个结果集

ResultSet:结果集对象

结果集对象就是封装查询结果的一个对象,我们平时使用sqlyog查询的到的就是一个结果集,例如在这里插入图片描述
这里有一个概念,就是游标的概念,同时我们需要了解两个方法:

1、next( ) :方法的作用就是将游标向下移动一行,并且判断当前行是否是最后一行末尾,返回一个boolean值,如果没有数据就返回false,反之为true

当我们得到一个结果集的时候,游标默认指在表头的位置,也就是这个位置在这里插入图片描述
当然,这个只是一种理解。然后每当我们使用resultSet结果集对象调用next()方法,游标就会向下移动一行,指向下一行数据

2、getXxx():获取数据

Xxx:代表的是接收的数据类型
比如我们游标已经移动到了empno为7369的那一列,然后使用的是getString(ename)方法那么我们获得的是这个刘一在这里插入图片描述
注意:
① 参数如果是int的话,代表的是列的编号,如getString(1)的话获取的就是empno的这一列
② 如果参数是String类型的话,那么就代表传入的是列名称,如刚刚图片上的例子

posted @ 2020-11-09 21:19  谢海川  阅读(68)  评论(0)    收藏  举报