JDBC 指 Java 数据库连接(Java Database Connectivity),是一种标准Java应用编程接口( JAVA API),JDBC就是一套sun公司定义的接口,JDBC本质上就是Sun公司制定的一套接口(interface)!每个数据库厂商需要实现这套接口。我们只需要调用需要即可用来连接 Java 编程语言和广泛的数据库。
JDBC API 库包含下面提到的每个任务,都是与数据库相关的常用用法。
从根本上来说,JDBC 是一种规范,它提供了一套完整的接口,允许便携式访问到底层数据库,因此可以用 Java 编写不同类型的可执行文件,例如:
所有这些不同的可执行文件就可以使用 JDBC 驱动程序来访问数据库,这样可以方便的访问数据。
JDBC 具有 ODBC 一样的性能,允许 Java 程序包含与数据库无关的代码。
数据库厂商的Java程序员所写的实现类 叫做驱动 Driver
第一种注册方法代码如下:(不常用)
第二种方利用反射的特性,加载过程中注册驱动的过程。
关于反射的补充:
关于JDBC—MySQL中以类加载的方式注册驱动(反射)详解链接:
上述一行代码就可以通过反射这个动作调用类,实现Driver类的加载 但是需要使用try和catch语句块环绕
// 3、获取数据库操作对象 // 返回值是“影响数据库中的记录条数”
其中执行增删改的方法返回值是int类型
执行查询的方法返回值是操作结果集对象,即使ResultSet的实例化对象!
Statement stmt = null;//先创建连接对象 和 操作对象 并且引用为空,是为了对象变量的生命周期不仅仅局限于try语句块内,而是在整个main方法内,方便后续finally语句块内释放资源 // 3、获取数据库操作对象 // 返回值是“影响数据库中的记录条数” // 5、处理查询结果集 // 从小到大依次关闭 //finally语句块内的语句一定会执行!
在上述五次优化代码的过程中,针对这六步
第一步的注册驱动最终使用了反射,已达最优
第二步的获取连接已达最优,已经有能力去完成JDBC连接数据库的工具类的封装了
看到这里可以移步去学习—————>啦!
第三步的获取数据库操作对象中我们是使用Statement接口
在实际开发过程中由于PreparedStatement能防止注入,且预先编译SQL语句的特性使得程序健壮性提高,所以实际开发中99.9%使用PreparedStatement。这是后话,由于封装工具类主要封装的是注册驱动,获取连接和释放资源,后续将专门写一篇博客讨论PreparedStatement
此外在实际开发中除了掌握上述六步还需要掌握事务提交回滚三部曲。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。