JDBC知识点

一、 概述

    A. JDBC的含义: 一组由Java语言编写的类和接口组成,提供一套基准规范,
                   可以让 Java去使用 API 操作数据库
    B. 驱动的含义: 连接两个硬件设备或者应用软件之间的桥梁。
    C. JDBC的作用:JDBC就是连接 Java语言和 MySQL数据库之间的桥梁

二、操作

    A. 准备数据
        a. 创建数据库和表
        b. 引入 jar 包

    B. 开发步骤
        a. 注册驱动
            Class.forName("com.mysql.jdbc.Driver");
        b. 获取获取驱动
            String url = "jdbc:mysql://127.0.0.1:3306/要操作的数据库名称";  
            Connection conn = DriverManager.getConnection(url, "mysql账号", "mysql密码");
        c. 获取操作对象
            Statement stat = conn.createStatement();
        d.执行sql
            stat.executeUpdate(sql);
        d. 释放资源
            stat.close();
            conn.close();

三、JDBC的API详解

1、DriverManager 驱动管理者
    A.注册驱动
        原始的注册驱动的代码 Class.forName("com.mysql.jdbc.Driver");
        Driver底层代码采用的是 DriverManager.registerDriver(new Driver());
    B.获取连接
        String url = "jdbc:mysql://127.0.0.1:3306/数据库的名称"; 
        Connection conn = DriverManager.getConnection(url, "mysql账号", "mysql密码");
2、Connection 连接数据库
    A.获取执行数据库的对象
        a.直接获取执行数据库的对象      
            Statement stat = conn.createStatement();
        b.获取预置语句执行数据库对象 
            PrepareStatement ps = conn.prepareStatement(sql语句);
    B.管理事务
        a.开启事务 
            conn.setAutoCommit(false); //false设置为手动提交事务.true设置为自动提交
        b.提交事务 
            conn.commit();
        c.回滚事务 
            conn.rollback();
3、Statement 操作数据库
    A.更新操作(DML"对表记录的增删改"和DDL"对表和库的增删改") 
        int num = stat.executeUpdate("SQL语句");  //这里的SQL语句是增删改.返回的是影响几行
    B.查询操作(DQL"对表记录的查询操作")
        ResultSet resu = stat.executeQuery("SQL查询语句"); //这里的SQL语句是查询语句 DQL 
4、ResultSet 查询表结果集
    A.判断是否还存在下一条数据
        boolean b = resu.next();  //如果存在下一条数据,返回值为true 不存在则返回false
    B.获取结果集当中的数据
        a.通过查询到的结果集,索引值获取(索引值从1开始)
            int data01 = resu.getInt(1);        //获取到的是查询结果集索引为1的int类型的数据
            String data02 = resu.getString(2);  //获取到的是查询结果集索引为2的String类型的数据
        b.通过查询到的结果集,列名称获取
            int data01 = resu.getInt("id");         //获取到的是查询结果集列名是id的int类型的数据
            String data02 = resu.getString("name"); //获取到的是查询结果集列名是name的String类型的数据
5、PrepareStatement 操作数据库
    A.获取预置操作
        select * from user where username = ? and password = ?;
        PreparedStatement ps = Connection.prepareStatement(sql); //通过预置对象,获取连接的操作
    B.设置参数
        ps.setString(1,"root"); //参数1:第几个问号,参数2:对应预置的值
        ps.setString(2,"123");//参数1:第几个问号,参数2:对应预置的值
    C.执行SQL语句
        ps.executeQuery();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值