zoukankan      html  css  js  c++  java
  • JAVA Web基础5-JDBC连接

    一.JDBC概述

    JDBC全称Java Data Base Connectivity,是Java程序操作数据库的标准API,是一种面向接口的编程,是Java操作数据库的规范,由一组类和接口组成,
    它提供了操作数据库的基本方法,但对于这些方法的具体实现需要数据库厂商提供。
    在数据库应用文件中找到ojdbc6.jar 这个包,这个包里的某些特定的方法实现了JDBC里的接口,从而连接到数据库,这个包称为数据库驱动包;
    具体操作:将该包复制粘贴到Javaweb项目中的WebContentWEB-INFlib文件夹下,程序会自动引入该包。
    Connection接口是jdk中定义好的一个数据库连接的接口, 在javaAPI当中没有定义任何实现该接口的实现类,
    这些实现类将会由数据库厂商提供, 同样Statement, ResultSet这两个接口都是以这种形式来定义, 这样的编程模式成为面向接口编程。

    二.JDBC API组成

    JDBC主要有一个类和三个接口组成
    1.DriverManager:驱动管理类
    该类作用于用户和驱动程序之间,通过调用其getConnection方法可以获取Conncetion接口的实例
    2.Connection 接口
    该接口为数据库连接对象,位于java.sql包中;
    常用方法:
    Connection.createStatement();创建一个Statement对象来将sql语句发送到数据库,返回Statement对象(该方法由于安全性不高,很少用了)。
    Connection.prepareStatement(String sql);将sql语句预编译放入PreparedStatement对象中,并返回该对象;
    Connection.setAutoCommit(true|false);设置Connection对象提交方式(自动 / 手动);
    3.Statement接口
    该接口用于执行sql语句,在实际开发中,需要用变量做查询条件时,操作过于繁琐,而且安全性不高(注入式攻击),
    一般使用preparedStament接口,该接口继承了Statement接口,并拥有其特定的方法。
    常用方法(以preparedStatement为例):
    prepareStatement.executeQuery();执行查询,返回ResultSet对象;
    prepareStatement.executeUpdate();执行增删改,返回受影响的行数 int;
    prepareStatement.addBatch();每次处理一条sql语句;
    prepareStatement.executeBatch();将一批命令提交给数据库去执行,返回更新技术组成的数组 int[];
    以占位符的形式构建sql语句,这里举例说明:
    String sql = "select t.* from tablet where t.id=? and t.name in (?,?,?)";
    prepareStatemenet.setInt(1, 24);
    prepareStatemenet.setString(2, "Tom");
    第一个参数: 占位符索引值, 第几个 ? , 就写几, 从1开始数;
    第二个参数: 占位符的值;
    设置什么类型的参数, 就用什么类型的方法.
    4.ResultSet接口
    该对象用于接收查询的结果集,包含了符合sql语句的所有行,同时该对象还提供了光标功能,可以自由定位到某一行中的数据;
    常用方法:
    resultSet.next();将光标向后移动一行,如果新行有效返回true,否则返回false,即用来判断是否有下一行数据;
    resultSet.getString(""|int);如果新行有效,则获取改行某列数据,参数可以传字符串,表示该列的名称,传整数可表示位于第几列;
    resultSet.getInt();同上一个方法,查询什么类型的数据,就用什么类型的方法;

  • 相关阅读:
    Redis 学习目录
    Knockout 官网学习文档目录
    C# 知识点回忆..
    爬虫-HtmlAgilityPack
    net core 3.1 知识累积
    共享文件夹(局域网)报错:The username or password is incorrect
    使用 Beyond Compare 工具比较合并 TFS 管理的代码
    创建索引,SQL优化
    LINQ SelectMany代替for循环赋值,把联合查询的值赋值给第1个集合
    判断文件编码
  • 原文地址:https://www.cnblogs.com/wyc1991/p/9127638.html
Copyright © 2011-2022 走看看