0822JDBC--Java连接数据库

JDBC定义:
    JDBC全称: Java DataBase Connectivity
      独立于特定数据管理系统, 通用的sql数据库存取和操作的公共接口, 是一种面向接口编程
    JDBC为访问不同的数据库提供了不同的途径

    ojdbc6.jar是JDBC连接数据库所必需的一个驱动包, 这个驱动包里面的某些特定的方法实现了下面三个接口, 从而可以连接到数据库
      我们把这种可以实现这三个接口的jar称为数据库的驱动包

    Connection接口是jdk中定义好的一个数据库连接的接口, 在javaAPI当中没有定义任何实现该接口的实现类, 这些实现类将会由数据库厂商提供, 同样Statement, ResultSet这两个接    口都是以这种形式来定义, 这样的编程模式成为面向接口编程

JDBC主要使用的一个类和三个接口:
    DriverManager:
        驱动程序管理类, 由这个类来获取Connection接口的实例

    Connection: 获取数据库的连接, 设置自动提交方式, 获取Statement(包括其子类)对象
        prepareStatement(sql)-->返回用于执行sql语句的一个对象
        callableStatement-->返回执行存储过程的一个对象
        setAutoCommit(true)-->设置数据库提交方式(自动 / 手动)

    Statement: 执行sql语句, 返回结果集
        返回boolean类型 prepareStatement.execute()-->用于执行存储过程和函数
        返回ResultSet prepareStatement.executeQuery()-->用于查询的语句
        返回int prepareStatement.executeUpdate()-->用于增, 删, 改的语句

        批量处理:
            prepareStatement.addBatch()-->每次处理一条sql语句
            返回int[] prepareStatement.executeBatch()-->将一批命令提交给数据库去执行

        以占位符的形式构建sql语句
            String sql = "select * from tablename t where t.id=? and t.name in (?,?,?)";
            prepareStatemenet.setInt(1, 24)
            prepareStatemenet.setString(2, "Tom");
            prepareStatemenet.setString(3, "Jack");
            prepareStatemenet.setString(4, "Kitty");
            prepareStatemenet.executeQuery();
            调用设置占位符参数方法, 需要传两个参数:
                第一个参数: 占位符索引值, 第几个 ? , 就写几, 从1开始数
                第二个参数: 占位符的值, 设置什么类型的参数, 就用什么类型的方法

    ResultSet:
        由Statement执行查询sql之后返回的结果集
        返回boolean类型 next()-->判断结果集是否有下一行数据
        获取数据
            resultSet.getString()--->方法可以传字符串, 表示表中字段的名字, 也可以传整数, 表示第几列
            resultSet.getInt()
            resultSet.getDate()
            ...
        通过对各种方法的重写来获取结果集中的数据

java连接数据库的代码
    定义四个属性: username, password, url, driver

    private static final String USERNAME = "数据库登录名";
    private static final String PASSWORD = "数据库登录密码";
    private static final String URL = "jdbc:oracle:thin:@localhost:1521:xe";
    private static final String DRIVERCLASSNAME = "oracle.jdbc.OracleDriver";

        1, 类加载器去加载数据库的驱动程序

   Class.forName(dirver);
        2, 直接调用DriverManager的静态方法getConnection()获取连接
        Connection conn = DriverManager.getConnection(url, username, password);

posted @ 2017-08-30 15:54  Oo。  阅读(171)  评论(0编辑  收藏  举报