JDBC连接java类怎么写

本文旨在详细讲解使用JDBC连接数据库的六个步骤

 其中第一步注册驱动的讲解链接:

// 3、获取数据库操作对象 // 5、获取查询结果集
 本文通过讲解这六步的代码,带读者一步一步深入分析了解JDBC连接数据库六步骤的代替写法,并对其使用场景和性能进行分析,知其然知其所以然!在六步都学完后,我们需要对最常使用的代码进行优化并且将上述六步中的注册驱动,获取连接和释放资源这三步封装成工具类DBUtil如何封装成工具类及相关知识点在之前的博文中有详细讲解:


[接口就是指:一个方法的集合]

本文我们需要了解JDBC,就需要知其然知其所以然,使用JDBC连接数据库的过程就是调用接口的实现类(驱动)从而执行操作。那么什么是接口呢?我们为什么在JDBC中采用面向接口编程?

 面试原题:关于接口的使用规范:

1、接口中可以定义常量,不能定义变量,如果你在接口中定义属性,那么通过反编译可以看见他会自动用public static final 修饰,接口中的属性都是全局静态常量,接口中的常量必须在定义时指定初始值,接口中数据定义为常量,全局调用。

2、 接口中所有的方法都是抽象方法,接口中方法都会自动用public abstract 修饰,即接口中只有全局抽象方法。

3、 接口不能实例化,接口中不能有构造。

4、 接口之间可以通过extends实现继承关系,一个接口可以继承多个接口,但接口不能继承类。

5、 接口的实现类必须实现接口的全部方法,否则必须定义为抽象类。

接口都有调用者和实现者,面向接口调用,面向接口写实现类,这都属于面向接口编程。

如果接口和抽象类可以完成相同的功能,尽量使用接口,这就是面向接口编程。 面向接口编程在于使用多态的好处把实现类对象赋给接口类型变量,屏蔽了不同实现类之间的实现差异,从而可以做到通用编程。


API),JDBC就是一套sun公司定义的接口,JDBC本质上就是Sun公司制定的一套接口(interface)!每个数据库厂商需要实现这套接口。我们只需要调用需要即可用来连接 Java 编程语言和广泛的数据库。

JDBC API 库包含下面提到的每个任务,都是与数据库相关的常用用法。

  • 查看和修改所产生的记录。

从根本上来说,JDBC 是一种规范,它提供了一套完整的接口,允许便携式访问到底层数据库,因此可以用 Java 编写不同类型的可执行文件,例如:

所有这些不同的可执行文件就可以使用 JDBC 驱动程序来访问数据库,这样可以方便的访问数据。

JDBC 具有 ODBC 一样的性能,允许 Java 程序包含与数据库无关的代码。


数据库厂商的Java程序员所写的实现类 叫做驱动 Driver

第一种注册方法代码如下:(不常用)

第二种方利用反射的特性,加载过程中注册驱动的过程。

关于反射的补充: 

关于JDBC—MySQL中以类加载的方式注册驱动(反射)详解链接:

上述一行代码就可以通过反射这个动作调用类,实现Driver类的加载 但是需要使用try和catch语句块环绕


3.获取数据库操作对象

 // 3、获取数据库操作对象
 // 返回值是“影响数据库中的记录条数”
 

 

 // 返回值是“影响数据库中的记录条数”

// 按下标取出,程序不健壮 // 以指定的格式取出

其中执行增删改的方法返回值是int类型

执行查询的方法返回值是操作结果集对象,即使ResultSet的实例化对象!


// 从小到大依次关闭 //finally语句块内的语句一定会执行!

第一次优化:(比较两种注册驱动的方法)


 Statement stmt = null;//先创建连接对象 和 操作对象 并且引用为空,是为了对象变量的生命周期不仅仅局限于try语句块内,而是在整个main方法内,方便后续finally语句块内释放资源
 // 3、获取数据库操作对象
 // 返回值是“影响数据库中的记录条数”
 // 5、处理查询结果集
 // 从小到大依次关闭
 //finally语句块内的语句一定会执行!

第二次优化:(比较两种注册驱动的方法)

// 3、获取数据库操作对象 // 5、获取查询结果集

第三次优化:(最佳注册驱动获取连接)


第四次优化:(使用资源绑定器)


第五次优化:(对操作结果集的处理)

// 3、获取数据库操作对象 // 5、获取查询结果集 // 按下标取出,程序不健壮 // 以指定的格式取出

在上述五次优化代码的过程中,针对这六步

// 3、获取数据库操作对象 // 5、获取查询结果集

第一步的注册驱动最终使用了反射,已达最优

第二步的获取连接已达最优,已经有能力去完成JDBC连接数据库的工具类的封装了

看到这里可以移步去学习—————>


第三步的获取数据库操作对象中我们是使用Statement接口

在实际开发过程中由于PreparedStatement能防止注入,且预先编译SQL语句的特性使得程序健壮性提高,所以实际开发中99.9%使用PreparedStatement。这是后话,由于封装工具类主要封装的是注册驱动,获取连接和释放资源,后续将专门写一篇博客讨论PreparedStatement

此外在实际开发中除了掌握上述六步还需要掌握事务提交回滚三部曲。

后续JDBC系列将更新关于PreparedStatement的详解和关闭数据库开启连接之后的自动提交,以及事务提交回滚三件套相关内容!


喜欢的老铁不妨点个关注!后续会努力更的呀!

身份认证 购VIP最低享 7 折!

java与数据库的连接jdbc数据库操作实例 1 连接数据库 创建表 students ID\Name\Major\Telephone 程序中实现执行Sql语句对数据增、删、改、查 2 写一个连接Oracle数据库在T_User表中根据用户名把其中的密码更新成指定的密码的Jdbc程序

  • 比较简单,一般用用可以

  • 适用于初学者对jdbc的了解和使用.

  • 代码比较简单,就是格式有点乱。。。

  • 这个例子很好,看一遍就能对Jdbc的使用了解

  • 这个例子举得不错。对学习灰常有帮助。。

资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!

1.下载JDBC驱动程序 ,可以在下载相应的JDBC驱动程序,下载后解压压缩包,复制jar文件

2.将jar文件拷贝到项目中,如下:新建一个libs文件夹并把驱动包放在里面

3.右键jar包,添加到项目依赖库中

2.定义数据库的地址和账号密码


3.创建数据库连接对象

  • 执行静态SQL语句。通常通过Statement实例实现。
  • 执行数据库存储过程。通常通过CallableStatement实例实现。

5.定义并执行SQL语句

  • execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的 语句。
  • 执行更新返回的是本次操作影响到的记录数。
  • 执行查询返回的结果是一个ResultSet对象。
    ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问。

7.关闭连接,释放资源

需要把记录集,声明 ,连接对象全部关闭

三.读取配置文件来获取数据库地址并封装相关函数

在src目录下新建一个jdbc.properties文件,内容指定数据库的地址,用户名和密码以及驱动

封装连接和关闭数据库的有关内容:

3.在主类中使用刚刚写的工具类

我要回帖

更多关于 jdbc java 的文章

 

随机推荐