JDBC入门介绍及使用

本文介绍了JDBC的概念和使用,包括注册驱动、获取数据库连接、执行SQL语句以及Statement和PreparedStatement对象的使用。详细讲解了JDBC中的事务管理,如BEGIN、COMMIT和ROLLBACK操作,并探讨了数据库连接池的作用和常见实现,如DBCP、C3P0和Druid,特别提到了Druid的使用步骤。
摘要由CSDN通过智能技术生成

JDBC简介

JDBC概念:

  • JDBC就是使用Java语言操作关系型数据库的一套API
  • 全称:Java数据库连接

JDBC快速入门

步骤:

创建工程导入jar包

  1. 注册驱动

    Class.forName("com.mysql.jdbc.Driver");
    
    
  2. 获取连接

    Connection conn=DriverManager.getConnection(url,username,password);
    
    
  3. 定义SQL语句

    String sql="update...";
    
  4. 获取执行SQL对象

    Statement stmt=conn.createStatemet();
    
    
  5. 执行SQL

    stmt.executeUpdate(sql);
    
    
  6. 处理返回结果

  7. 释放资源

JDBC API详解

DriverManager

  • DriverManaget(驱动管理类)作用:
    1. 注册驱动
    2. 获取数据库连接

Connection

  • Connection(数据库连接对象)作用:

    1. 获取执行SQL的对象

      • 普通执行SQL对象
      Statement createStatement();
      
      • 预编译SQL的执行SQL对象:防止SQL注入
      PreparedStatement prepareStatement(sql);
      
    2. 管理事务

      • MySQL事务管理
        开启事务:BEGIN; /START TRANSACTION;
        提交事务:COMMIT;
        回滚事务:ROLLBACK;
        MySQL默认自动提交
      • JDBC事务管理:Connection接口中定义了三个对应的方法
        开启事务:setAutoCommit(boolean autoCommit):true为自动提交事务;false为手动提交事务,即为开启事务
        提交事务:commit()
        回滚事务:rollbackI()

Statement

  • Statement作用

    执行SQL语句

  • 执行SQL语句

    Int executeUpdate(sql):执行DML、DDL语句

    返回值:(1)DML语句影响的行数(2)DDL语句执行后,执行成功也可能返回0

    ResultSet executeQuery(sql):执行DQL语句

    返回值:ReseltSet结果集对象

ResultSet

  • ResultSet(结果集对象)作用:

    1. 封装了DQL查询语句的结果

      ResultSet stmt.executeQuery(sql):执行DQL语句,返回ResultSet对象

  • 获取查询结果

    boolean next();

    (1)将光标从当前位置向前移动一行

    (2)判断当前行是否为有效行

    返回值:

    true:有效行

    false:无效行

    x x x getXxx(参数):获取数据

PrepareStatement

  • PreparedStatement作用:

    1. 预编译SQL语句并执行
    2. 预防SQL注入问题:将敏感字符进行转译
  • SQL注入

    SQL注入是通过操作输入来修改事先定义好的SQL语句,用以达到执行代码对服务器进行攻击的方法

  1. 获取PreparedStatement对象

    //SQL语句中的参数值,使用?占位符替代
    String sql = "select * from user where username=? and password=?";
    //通过Connection对象获取,并传入对应的sql
    PreparedStatement pstmt = conn.preparedStetement(sql);
    
    
  2. 设置参数

    PreparedStatement对象:setXxx(参数1, 参数2):给?赋值
    
  3. 执行SQL

    executeUpdate();  /  executQuery();
    
    

数据库连接池

  • 简介

    1. 数据库连接池是一个容器,负责分配、管理数据库连接
    2. 它允许应用程序重复使用一个现有的数据库连接,而不是重建一个
    3. 释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接引起的数据库连接遗漏
    4. 好处:
      • 资源重用
      • 提升相应速度
      • 避免数据库连接遗漏
  • 实现

    • 标准接口:DataSource

      • 官方提供的数据库连接池标准接口,由第三方组织实现此接口

      • 功能:获取连接

        Connection getConnection()
        
    • 常见的数据库连接池

      • DBCP
      • C3P0
      • Druid
    • Druid(德鲁伊)

      • Druid连接池是阿里巴巴开源的数据库连接池项目
      • 功能强大,性能优秀,是java语言最好的数据库连接池之一

Druid使用步骤

  1. 导入jar包
  2. 定义配置文件
  3. 加载配置
  4. 获取数据库连接池对象
  5. 获取连接
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值