【JDBC】JDBC基本内容总和

1.JDBC 介绍

JDBC (Java Database Connectivity) 是Sun 公司给出的一个基于Java 语言访问关系数据库的接口标准,
这个标准基于X/Open SQL Call Level Interface ,并与SQL 92 入门级标准兼容。JDBC 制定了统一的访问各
类关系数据库的标准接口,为各个数据库厂商提供了标准接口的实现。

这里写图片描述
oracle的两类驱动:Thin驱动和OCI驱动

使用Thin 驱动的JDBC URL 为:
jdbc:oracle:thin:[user/password]@[host][:port]:SID 或
jdbc:oracle:thin:[user/password]@//[host][:port]/SID

这里写图片描述

2.java常用的类

2.1Connection接口—就像一根怼着数据库的管道
Connection常用的方法

2.2Statement接口

  • 2.2.1 Statement 实例用于在已经建立连接的基础上向数据库发送SQL 语句
  • 2.2.2 PreparedStatment
    对于JDBC,可以通过Connection 对象的prepareStatement(String sql)方法对SQL 语
    句进行编译预处理,生成数据库底层的内部命令,并将该命令封装在PreparedStatement 对象中。
    【说明】Statement不安全,会产生SQL注入攻击,因此经常用PreparedStatement
  • 2.2.3CallableStatement接口
    CallableStatement 接口继承自PreparedStatement,用于调用存储子程序。
    CallableStatement cs1 = con.prepareCall(“{CALL Abc()}”);// 调用无参存储过程
    CallableStatement cs2 = con.prepareCall(“{CALL Abc(?, ?, …,?)}”); // 调用有参存储过程
    //调用存储函数
    CallableStatement cs4 = con.prepareCall(“{? = CALL Abc(?,?,…,?)}”);

2.3ReSultSet接口

ResultSet 接口类似于一张数据表,用来暂时存放数据库查询操作所获得的结果集

3.加载数据库驱动

【说明】不同的数据库所需要加载的数据库驱动包是不一样的
- 3.1加载数据库驱动的两种形式
- 方式一:调用Class类的静态方法forName();
这里写图片描述
方式二:采用Oracle数据源的方式
通过new OracleDataSource()对象获取oracle数据源,这也是Oracle公司推荐的
这里写图片描述

4.创建数据库连接(如上所示)Connection类

在进行数据库操作时,只需要在第一次访问数据库时加载数据库驱动。以后每次访问数据时,创建一个Connection 对象后即可执行操作数据库的SQL 语句
4.1通过数据驱动管理累DriverManager
4.2通过数据源获取

5.发送SQL语句

        1.Statement对象
        2.PreparedStatement
        3.CallableStatement

6.查询获取结果集(ResultSet类)

        ResultSet 对象具有指向当前数据行的光标。最初,光标被置于第一行之前,可以通过该对象的next()方法将光标移动到下一行;如果ResultSet 对象没有下一行时,则next()方法返回false。所以,可以在while循环中使用next()方法迭代结果集。

7.关闭连接

        一定要从后往前释放,对比创建的过程就很容易理解
            resultSet.close();
            Statement.close();
            Connection.close();

【补充内容】

    关于SQL语句的一些基本数据查询以及数据更新语句
    ○ SELECT (字段名……)  FROM 表名 WHERE condition;
        注:如果要查询所有的则 字段名为“*”
        模糊查询:用“%”代替0个或者多个字符,“_”代替一个字符

        屏幕剪辑的捕获时间: 2018/5/27 23:41


        select * from student where sno like '9512%'");
    ○ INSERT INTO 表名(字段名) VALUES (values1,values2…….);
    ○ UPDATE 表名 SET 字段名= 更新的字段名 WHERE condition;
    ○ DELETE FROM TABLE WHERE condition;
    修改表的结构
    ○ ALTER TABLE table_name 
    ADD column_name datatype; //增加列
    //删除表的一列
    ALTER TABLE table_name
    DROP COLUMN column_name;
    //修改数据类型
    ALTER TABLE table_name
    ALTER COLUMN column_name datatype;

8事务隔离级别

这里写图片描述

9.数据可元数据对象

这里写图片描述

猜你喜欢

转载自blog.csdn.net/alearn_/article/details/80474447