Java Web 学习之JDBC 基础(篇1)

发布时间:2022-08-18 18:47

1.JDBC 简介:

     持久化是指将数据存储到可永久保存的存储设备中,持久化的主要应用场景是将内存中的对象存储到数据库,XML 数据文件或其他种类的磁盘文件中。 在JAVA编程中,常见的持久化方式是将程序产生的数据存储到数据库中,而JDBC 则是实现这一过程的重要工具JDBC(JAVA DATABASE Connectivity) java 数据库连接的简写,它是一套用于SQL语句的JAVA  API ,是Java 程序访问数据库的标准规范,应用程序在使用JDBC 访问特定的数据库时,需要与不同的数据库驱动进行连接,JDBC 提供接口,而驱动是接口的实现,没有驱动将无法完成数据库的连接。

                        应用程序--->JDBC---->Mysql 驱动------->Mysql 数据库                                                                                                                                应用程序--->JDBC---->Oracle 驱动----->Oracle 数据库

  JDBC 的体系结构:

   JDBC API:面向程序,供JAVA 程序开发人员使用

   JDBC Driver Manager : 注册数据库驱动,供Java 程序开发人员使用

   JDBC Driver  API: 通过数据库,供数据库厂商使用

     API 通过 Driver Manager (驱动管理器) 实现与数据库的透明连接,提供获取数据的连接,执行Sql 语句,获得结果等功能,JDBC API 使开发人员获得了标准的,纯JAVA 的数据库程序设计接口,在JAVA 程序中为访问任意类型的数据库提供支持。

   2.JDBC 开发

     编写一个JDBC 程序分为以下6个步骤:

  1. 加载并注册数据库驱动(Driver类);

  2.获取数据库连接(Connection对象);

  3.获取Sql 语句执行者(Statement对象)

  4.执行Sql语句。

  5.操作结果集(ResultSet对象)

  6.回收数据库资源

public class DBUtils{


 // -------------------获取连接对象的工具类应用-------------------------
   
static {

     // 优先加载,且只加载一次

   try{
         Class.forName("com.mysql.jdbc.Driver");
    }catch {
         e.printStackTrackTrace(); 
   }

} 
public static Connection getConnection(){
     Connetcion conn=null;
   try{
        conn=DriverManager.getConnection("jdbc:mysql:///lhp","root","123");
    }catch(SQLException e){
         e.printStackTrace();
 }
        return conn;

  }

}

   加载类时,将执行被加载类的静态代码块,而com.mysql.jdbc.Driver类有一个静态代码块:

Java Web 学习之JDBC 基础(篇1)_第1张图片

  DirverManager类是一个驱动管理类,管理一组JDBC 驱动程序,它通过属性drivers存入很多驱动类,当DriverManager获取连接的时候,它会把dirvers里的各个驱动的URL和创建连接时传进来的URL逐一比较,遇到对应的URL,则会尝试建立连接,通过DriverManager 获取连接(Connnettion对象);

    获取SQL语句执行者(Statement对象)

  Connection对象提供了3种获取Sql 语句执行者(Statement对象)的方法,其中createStatement() 方法获取Statement 对象,调用 prepareStatement()方法获取PrepareStatement对象,调用PrepareCall() 方法获取CallableStatement对象:

其中 preparedStatement 对象和 CallableStatement对象,还需要传入String类型的Sql语句作为参数。

  Statement 对象提供了 3 种方法执行Sql 语句,其中,execute()方法可以执行任何Sql 语句,executeUpdate()方法用于执行 DDL语句和DML语句,执行DDL 语句时,返回值为0,执行DML 语句时,返回值为影响的行数,executeQuery()方法用于执行实现查询功能的Sql语句,返回值是一个结果集(ResultSet对象)。

   executeQuery(sql) 执行结果ResultSet 封装了 执行查询Sql 语句后返回的结果,程序可以通过遍历结果获取每一行的数据,ResultSet对象具有执行其当前数据的指针,在最开始的时候指针被置于第一行之前,可调用ResultSet接口的next() 方法将指针移动到下一行,在实际应用中常将ResultSet接口的next()方法放在while()循环中,如果有下一行,则返回为True,遍历继续进行,如果没有下一行,则返回为 False,遍历结束。

回收数据库资源:

  为了节省资源,提升性能,包括Connection,Statement,ResultSet 在内的JDBC 资源在使用后要及时关闭,正确的关闭顺序为,先得到的后关闭,后得到的先关闭:

Java Web 学习之JDBC 基础(篇1)_第2张图片

  

 

 

 

  

 

 

 

 

 

 

 

 

 

 

 

 

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号