JDBC相关知识

目录

一、JDBC(Java DataBase Connectivity)

二、技术实现

接口:

使用:

1、前提条件

2、代码实现

三、代码


一、JDBC(Java DataBase Connectivity)

是Java程序连接数据库,执行sql(DDL,DML(DQL))语句的技术。

二、技术实现

面向接口编程

接口:

java.sql.Driver

java.sql.Connection

java.sql.Statement

java.sql.ResultSet

使用:

1、前提条件

        得到对应数据库的驱动程序jar包(官网下载)

2、代码实现

(1) 项目与模块引用(导入)jar包:

        a. 项目建立:libraries project structure --> libraries --> 添加

                         

        b. 模块引用:libraries project structure --> Modules --> 添加

                       

(2) 加载驱动程序

Class.Class.forName("驱动程序类 包名 + 类名");

        a. 驱动程序类一定实现了java.sql.Driver接口

        b. Class.forName()静态方法

        c. 会抛出一个编译时异常ClassNotFoundException

        d. 回去DriverManager注册

(3)  建立连接  

(需要知道IP地址  端口号(port) databaseName userName pwd)
        a. URL 固定格式: IP地址:端口号(port) databaseName userName pwd
        b. getConnection()静态方法
        c. 抛出编译时异常SQLException 调用java.sql包中的任何一个类的任何一个方法
          都会抛出编译时异常SQLException

(4)  创建Statement对象

con.createStatement()

(5)  执行sql

(DML insert update delete/select)
        a.  int executeUpdate(insert update delete)返回sql语句影响的行数
        b.  ResultSet executeQuery(select)结果集

(6)关闭资源

三、代码

public static void main(String[] args) {
        Connection con = null;
        Statement sta = null;
        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            String url = "jdbc:sqlserver://localhost:1433;databaseName=pas";
            con = DriverManager.getConnection(url,"sa","sa");
            System.out.println(con);
            sta = con.createStatement();
            //String sql = "insert into teacher (teanum, teaName, teatitle, teatypeid, teabtd, pwd, static) values ('20210001', '一一', '学习委员', 1, '2003-3-4', 1, 1)";
            String sql = "delete from teacher where teaNum = '20210001'";
            int rows = sta.executeUpdate(sql);
            if (rows == 1){
                System.out.println("op success");
            }else{
                System.out.println("op error");
            }
        } catch (ClassNotFoundException e) {
            System.out.println("驱动程序加载错误");
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            try {
                if (sta != null){
                    sta.close();
                    sta = null;
                }
                if (con != null){
                    con.close();
                    con = null;
                }

            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }

        }
    }

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值