代码操作过程 加载驱动程序

1.调用Class类的静态方法forName(驱动程序类的包名加类名)

(1)驱动程序一定实现了java.sql.Driver接口

(2)静态方法Class.forName()方法会抛出一个编译时异常ClassNotFoundException

解决方法 alt + enter 选择try catch

(3)加载驱动程序的这个过程会去DriverManager那里注册

2.建立链接

(1)创建Connection类的对象 con

getConnection会抛出一个编译时异常SQLEXception

调用java.sql包中的任何一个类的任何一个方法都会抛出编译时异常Exception

con = DriverManager.getConnection(url,"sa","sa");

(2)url为统一资源定位符 格式为:IP地址:端口号(port);Database名称

例如jdbc:sqlserver://localhost:1433;databaseName=pas

3.创建Statement对象

statement提供了三个方法 executeUpdate executeQuery execute

Statement sta = null;
sta = con.createStatement();

4.执行SQL语句

(1)int executeUpdate(insert update delete)返回sql语句影响的行数

(2)ResultSet executeQuery(select) 返回一张临时表

5.关闭资源

(1)我们把关闭资源的语句放在finally块中 因为除非程序中途退出 否则finally块都是最后且一定会执行的

(2)因为关闭两个对象的语句在finally块中 所以要将两个对象定义为全局对象

(3)如果数据库配置服务未启动 链接不上数据库 程序根本就不会运行 自然也不会有对象的存在

所以在关闭资源前必须加上一个判断 判断两个对象是否存在

整体程序代码如下

package com.xiaozhang3;
​
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
​
public class TestJDBC3 {
    public static void main(String[] args) {
        Statement sta = null;
        Connection con = null;
        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            String url = "jdbc:sqlserver://localhost:1433;databaseName=pas";
            con = DriverManager.getConnection(url,"sa","sa");
            sta = con.createStatement();
            String sql = "delete from teacher where teanum = '19910209'";
            int rows = sta.executeUpdate(sql);
            if (rows == 1) {
                System.out.println("操作成功");
            }else{
                System.out.println("操作失败");
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }finally {
            try {
                if (sta != null){
                    sta.close();
                    sta = null;
                }
                if (con != null) {
                    con.close();
                    con = null;
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值