Java web系列----JDBC

JDBC

数据库驱动:数据库厂商为了方便开发人员从程序中操作数据库而提供的一套jar包,通过导入这个jar包就可以调用其中的方法操作数据库,这样的jar包就叫做数据库驱动。

**JDBC:**sun定义的一套标准,本质上是一大堆的操作数据库的接口,所有数据库厂商为java设计的数据库驱动都实现过这套接口,这样一来同一了不同数据库驱动的方法,开发人员只需要学习JDBC就会使用任意数据库驱动了。

JDBC的六个步骤
*在数据库中建立好表
*在程序中导入数据库驱动包
1.注册数据库驱动
DriverManager.registerDriver(new Driver());//缺点一:观察mysqlDriver源码发现此方法导致了数据库驱动被注册了两次。缺点二:整个程序域mysql数据库驱动绑定增加了耦合性,可以用下面的语句替代
Class.forName(“com.mysql.jdbc.Driver”);
2.获取连接
DriverManager.getConnection(url, user, password);
~url的写法:
    Oracle写法:jdbc:oracle:thin:@localhost:1521:sid
    SqlServer—jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=sid
    MySql—jdbc:mysql://localhost:3306/sid
~url可以接的参数
    user、password
    useUnicode=true&characterEncoding=UTF-8

3.获取传输器
    createStatement():创建向数据库发送sql的statement对象。
    prepareStatement(sql) :创建向数据库发送预编译sql的PrepareSatement对象。
4.利用传输器执行sql语句获取结果集
    executeQuery(String sql) :用于向数据发送查询语句。
    executeUpdate(String sql):用于向数据库发送insert、update或delete语句
    execute(String sql):用于向数据库发送任意sql语句

5.遍历结果集取出结构
    ResultSet以表的样式在内存中保存了查询结果,其中还维护了一个游标,最开始的时候游标在第一行之前,每调用一次next()方法就试图下移一行,如果移动成功返回true;
    ResultSet还提供了很多个Get方法,用来获取查询结果中的不同类型的数据
    除了next方法,还有以下方法可以用来遍历结果集:
        next():移动到下一行
        Previous():移动到前一行
        absolute(int row):移动到指定行
        beforeFirst():移动resultSet的最前面。
        afterLast() :移动到resultSet的最后面。
6.释放资源
    conn是一个有限的资源,用完立即要释放表
    stat占用内存,所以使用完后也要释放
    rs占用内存,所以使用完后也要释放
    释放时后创建的先释放
    if(rs != null){
        try {
            rs.close();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally{
            rs = null;
        }
    }
    if(stat != null){
        try {
            stat.close();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally{
            stat = null;
        }
    }
    if(conn != null){
        try {
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally{
            conn = null;
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值