JDBC 复习

JDBC开发

JDBC简介

ODBC(Open Database Connectivity)
    -一个以C语言为基础去访问SQL为基础数据库引擎的接口,提供一致的接口用于和数据库沟通及访问数据
JDBC:Java Database Connectivity
    -Java版的ODBC
    -1996年由SUN公司提出
JDBC API[两部分]:
    -应用程序开发接口:提供给应用开发人员使用
    -驱动程序开发接口:提供给数据库驱动开发人员使用
使用JDBC的目的:
    -与数据库连接
    -发送SQL语句到数据库端并执行
    -处理返回的执行结果

JDBC开发流程
【导入jar包:ojdbc6.jar】怎么导入jar包,博客中有,请查看,这里就不再讲了,望见谅

1.注册驱动并实例化
    -使用类装载器
    Class.forName(driverName);
    -直接实例化驱动
    Driver driver = new oracle.jdbc.driver.OracleDriver();
    DriverManager.registerDriver(driver);
    常见驱动
    Oracle:oracle.jdbc.driver.OracleDriver
    Mysql:com.mysql.jdbc.Driver  

2.建立和数据库的连接
    -DriverManager.getConnection()方法
    getConnection(String url,String user,String passwd);
    -常见数据库URL
    Oracle   jdbc:oracle:thin:@host:1521:SID  
    Mysql    jdbc:mysql://host:3306/SID
    [host:主机IP地址; 1521:监听端口号; SID::数据库]
eg:
Connection conn = DriverManager.getConnection("jdbc:oraacle:thin:@127.0.0.1:1521:XE","user","123");

3.创建Statement对象
    -Statement对象用于将sql语句发送到数据库,分三种情况:
    1>Statement stmt = Connection.createStatement();
    执行不带参数的简单sql语句 [常用]
    2>PreparedStatement pstmt = Connection.prepareStatement(sql);
    执行带参数或不带参数的sql语句 [常用]
    3>CallableStatement cstmt = Connection.prepareCall(sql);
    执行对数据库以存储的PL/SQL程序的调用

4.执行sql语句
    -ResultSet rs = executeQuery(sqlString);
    执行查询语句,返回查询结果集ResultSet
    -int rows = executeUpdata(sqlString);
    执行DML和DDL语句,返回受影响的记录数
    -boolean flag = execute(sqlString);
    执行任何SQL语句,返回boolean类型,指示是否有ResuleSet返回

5.处理结果集
    -查询语句返回结果集ResultSet
    -结果集中的内置游标指向第一条记录前面
    -通过ResuleSet相关方法遍历结果集
eg:
    ResuleSet rs = executeQuery(sql);
    while(rs.next()){
        System.out.print(rs.getString(1));
        System.out.print(rs.getInt(2));
        System.out.print(rs.getDouble(3));
        System.out.print(rs.getDate(4));
        ...
    }

6.释放资源
    -关闭ResultSet、相应的Statement和Connection
eg:
    finally{
        if(rs!=null)
        try{
            rs.close();
        }catch(Exception e){
        }
        //或者
        try{
            if(rs!=null)rs.close();
            if(pstmt!=null)pstmt.close();
            if(stmt!=null)stmt.close();
            if(conn!=null)conn.close();
        }catch(Exception){
        }
    }

JDBC优化

ConnectionFactory
    -利用工厂模式可以提升代码的重用性
    -封装注册数据库的驱动和获得数据库的连接
    -利用配置文件减少硬编码,便于维护

ConnectionFactory的开发
    1-配置文件jdbcinfo.properties
    文件中写入数据库驱动的接口的jar包路径地址,数据库的URL,用户名密码
eg:
    jdbc.driver=oracle.jdbc.driver.OracleDriver
    jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:XE
    jdbc.username=mahone
    jdbc.password=123

    2-配置文件的获取
ConnectionFactory.class.getResourceAsStream("jdbcinfo.properties");
    【这里只获取到配置文件properties,并没有得到文件中的信息,所以需要用IO流解析文件中的信息
    并赋值到Driver、URL等静态常量上】怎么解析properties,博客中有,这里不再详细讲,望谅解

    3-写个数据库连接方法,获得数据库连接Connection
eg:
    public static Connection getConnection(){
    //注册驱动
    //建立连接
    //返回一个Connection连接
    }   
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值