当前位置:网站首页 > Java基础 > 正文

java dbcp基础



目标:
数据库驱动
JDBC 的概念及作用
掌握 JDBC 的工作原理
掌握 JDBC 中几个常用接口和类
掌握基于数据库的应用程序开发流程

1.数据库编程的必备的条件

编程语言,如 Java , C 、 C++ 、 Python 等
数据库,如 Oracle , MySQL , SQL Server 等
数据库驱动包:不同的数据库,对应不同的编程语言提供了不同的数据库驱动包,如: MySQL 提
供了 Java 的驱动包 mysql-connector-java ,需要基于 Java 操作 MySQL 即需要该驱动包。同样的,
要基于 Java 操作 Oracle 数据库则需要 Oracle 的数据库驱动包 ojdbc。

 接下来我们说一说怎么添加库

第一下载库:

中央仓库maven网站网址:https://mvnrepository.com/

下载好之后:

在ieda软件里面 

这样就可以了。

 2. Java的数据库编程:JDBC

JDBC ,即 Java Database Connectivity , java 数据库连接。是一种用于执行 SQL 语句的 Java API ,它是 Java中的数据库连接规范。这个 API 由 java.sql.*,javax.sql.* 包中的一些类和接口组成,它为 Java开发人员操作数据库提供了一个标准的API ,可以为多种关系数据库提供统一访问。

3. JDBC工作原理

JDBC 为多种关系数据库提供了统一访问方式,作为特定厂商数据库访问 API 的一种高级抽象,它主要包含一些通用的接口类。
JDBC访问数据库的层次结构:

JDBC优势:

Java 语言访问数据库操作完全面向抽象接口编程开发数据库应用不用限定在特定数据库厂商的API程序的可移植性大大增强。

4. JDBC使用

4.1 JDBC开发案例

准备数据库驱动包,并添加到项目的依赖中:
在项目中创建文件夹 lib ,并将依赖包 mysql-connector-java-5.1.47.jar 复制到 lib 中。再配置该 jar
包到本项目的依赖中:右键点击项目 Open Module Settings ,在 Modules 中,点击项目,配置 Dependencies,点击 + , JARS or Directories ,将该 lib 文件夹配置进依赖中,表示该文件夹下的
jar 包都引入作为依赖。

1.建立数据库连接

填写参数:

第一个解释:填写服务器所在位置

 2.连接服务器

 测试一下,连接成功

 3.构造sql语句

PreparedStatement对象的解释

但是这样就写死了sql语句了,能不能让用户输入捏?当然可以

 

执行结果:

还有一种,最主流的的 

4.sql语句发送到服务器上执行

Connection对象里面有两个常用的函数

java dbcp基础

 

我们执行一下

 对了,别忘记释放资源了。

 最终的代码:

 

同理,查询也是同样的道理

代码:

 

 解释

 执行结果:

 也可以严谨一点的释放资源:

// 关闭连接命令
if ( connection != null ) {
   
try {
       
        connection . close ();
 
   } catch ( SQLException e ) {
       
        e . printStackTrace ();
   }
}

4.2 JDBC使用步骤总结

1. 创建数据库连接 Connection
2. 创建操作命令 Statement
3. 使用操作命令来执行 SQL
4. 处理结果集 ResultSet
5. 释放资源

5. JDBC常用接口和类 

5.1 JDBC API

在 Java JDBC 编程中对数据库的操作均使用 JDK 自带的 API 统一处理,通常与特定数据库的驱动类是完全 解耦的。所以掌握Java JDBC API (位于 java.sql 包下) 即可掌握 Java 数据库编程。

5.2 数据库连接Connection

Connection 接口实现类由数据库提供,获取 Connection 对象通常有两种方式:

一种是通过DriverManager(驱动管理类)的静态方法获取:

// 加载JDBC驱动程序
Class.forName("com.mysql.jdbc.Driver");
// 创建数据库连接
Connection connection = DriverManager.getConnection(url);

 1种是通过DataSource(数据源)对象获取。实际应用中会使用DataSource对象:

也就是我上面写的这一种

以上两种方式的区别是:  

1. DriverManager 类来获取的 Connection 连接,是无法重复利用的,每次使用完以后释放资源时,通过connection.close() 都是关闭物理连接。
2. DataSource 提供连接池的支持。连接池在初始化时将创建一定数量的数据库连接,这些连接 是可以复用的,每次使用完数据库连接,释放资源调用connection.close() 都是Conncetion连接对象回收。

5.3 Statement对象  

Statement 对象主要是将 SQL 语句发送到数据库中。 JDBC API 中主要提供了三种 Statement 对象。

实际开发中最常用的是PreparedStatement对象,以下对其的总结:

 主要掌握两种执行SQL的方法:

  1. executeQuery() 方法执行后返回单个结果集的,通常用于select语句。
  2. executeUpdate()方法返回值是一个整数,指示受影响的行数,通常用于update、insert、delete语句。

5.4 ResultSet对象 

ResultSet对象它被称为结果集,它代表符合SQL语句条件的所有行,并且它通过一套getXXX方法提供了对这些行中数据的访问。
ResultSet里的数据一行一行排列,每行有多个字段,并且有一个记录指针,指针所指的数据行叫做当前数据行,我们只能来操作当前的数据行。我们如果想要取得某一条记录,就要使ResultSet的next()方法 ,如果我们想要得到ResultSet里的所有记录,就应该使用while循环。

6.课堂总结

JDBC 使用步骤:
1. 创建数据库连接 Connection
        DriverManager创建
        DataSource获取
2. 创建操作命令 Statement
        PreparedStatement
3. 使用操作命令来执行 SQL
// 查询操作
preparedStatement . executeQuery ();
// 新增、修改、删除操作
preparedStatement . executeUpdate ();

 4. 处理结果集ResultSet

while ( resultSet . next ()) {
   
        int xxx = resultSet . getInt ( "xxx" );
   
        String yyy = resultSet . getString ( "yyy" );
        ...
}

5. 释放资源

try {
   
        if ( resultSet != null ){
       
                resultSet . close ();
          }
   
        if ( preparedStatement != null ){
       
                preparedStatement . close ();
          }
   
        if ( connection != null ){
       
                connection . close ();
          }
} catch ( SQLException e ) {
   
        e . printStackTrace ();
   
        throw new RuntimeException ( " 数据库错误 " );
}

版权声明:


相关文章:

  • 成都java零基础培训2025-04-02 20:02:03
  • java怎么学习基础2025-04-02 20:02:03
  • java基础012025-04-02 20:02:03
  • java编程基础培训2025-04-02 20:02:03
  • java知识点基础2025-04-02 20:02:03
  • java 多线程基础2025-04-02 20:02:03
  • java语言基础编程序2025-04-02 20:02:03
  • java基础与原理2025-04-02 20:02:03
  • java基础系列32025-04-02 20:02:03
  • java基础腾讯2025-04-02 20:02:03