JDBC详细介绍

这篇具有很好参考价值的文章主要介绍了JDBC详细介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1. jdbc的概念

JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系型数据库提供统一访问,它是由一组用Java语言编写的类和接口组成的。

2.jdbc的作用

JDBC为Java程序操作不同的数据库提供了统一的接口,避免了细节。

JDBC可以链接任何提供了JDBC的驱动程序的数据库系统,从而完成对数据库的任何操作。

3.jdbc数据库连接步骤

  1. 导入jar包 MySQL8.0

jdbc,jdbc,java,Powered by 金山文档
jdbc,jdbc,java,Powered by 金山文档
jdbc,jdbc,java,Powered by 金山文档

注意!!!!如果是maven项目就更简单了直接在pom配置文件中添加依赖

jdbc,jdbc,java,Powered by 金山文档

2.注册驱动

Class.forName("com.mysql.jdbc.Driver"); //5.1-5.6的版本应用 5.7也可以应用
Class.forName("com.mysql.cj.jdbc.Driver") //mysql 8版本应用

3.获取连接 , 3306 为数据库端口,root 123456 分别为数据库账号和密码

Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/db1", "root", "12345");

4.获取执行者对象

Statement stat = con.createStatement();

5.执行sql语句,并接收返回结果

String sql = "SELECT * FROM user";
ResultSet rs = stat.executeQuery(sql);

6.处理结果

while(rs.next()) {
    System.out.println(rs.getInt("id") + "\t" + rs.getString("name"));
}

7.释放资源

con.close();
stat.close();
rs.close();

JDBC各个功能类

1.DriverManager
  • DriverManager:驱动管理对象

  • 注册驱动(告诉程序该使用哪一个数据库驱动)

  • static void registerDriver(Driver driver):注册与给定的驱动程序 DriverManager

  • 写代码使用:Class.forName("com.mysql.jdbc.Driver");

  • 通过查看源码发现:在com.mysql.jdbc.Driver类中存在静态代码块

static {
    try {
        java.sql.DriverManager.registerDriver(new Driver());
    } catch (SQLException E) {
        throw new RuntimeException("Can't register driver!");
    }
}
  • 注意:mysql5之后的驱动jar包可以省略注册驱动的步骤。在jar包中,存在一个java.sql.Driver配置文件,文件中指定了com.mysql.jdbc.Driver

  • 获取数据库连接(获取到数据库的连接并返回连接对象)

  • static Connection getConnection(String url, String user, String password);

  • 返回值:Connection数据库连接对象

  • 参数

  • url:指定连接的路径。语法:jdbc:mysql://ip地址(域名):端口号/数据库名称

  • user:用户名

  • password:密码

2.Connection
  • Connection:数据库连接对象

  • 获取执行者对象

  • 获取普通执行者对象:Statement createStatement();

  • 获取预编译执行者对象:PreparedStatement prepareStatement(String sql);

  • 管理事务

  • 开启事务:setAutoCommit(boolean autoCommit); 参数为false,则开启事务。

  • 提交事务:commit();

  • 回滚事务:rollback();

  • 释放资源

  • 立即将数据库连接对象释放:void close();

3.Statement
  • Statement:执行sql语句的对象

  • 执行DML语句:int executeUpdate(String sql);

  • 返回值int:返回影响的行数。

  • 参数sql:可以执行insert、update、delete语句。

  • 执行DQL语句:ResultSet executeQuery(String sql);

  • 返回值ResultSet:封装查询的结果。

  • 参数sql:可以执行select语句。

  • 执行DDL语句:boolean execute(String sql)

  • 返回值boolean: 返回true 表示执行的是查询语句,false 表示执行了create

  • 参数sql:可以执行create drop alter

  • 执行命令语句:addBatch(String sql)

  • 无返回值

  • 参数sql:加入一个sql语句命令

  • 批量插入语句:executeBatch()

  • 返回值:int[]

  • 操 作:结合addBatch一起使用

  • 释放资源

  • 立即将执行者对象释放:void close();

4.ResultSet
  • ResultSet:结果集对象

  • 判断结果集中是否还有数据:boolean next();

  • 有数据返回true,并将索引向下移动一行

  • 没有数据返回false

  • 获取结果集中的数据:XXX getXxx("列名");

  • XXX代表数据类型(要获取某列数据,这一列的数据类型)

  • 例如:String getString("name"); int getInt("age");

  • 释放资源

  • 立即将结果集对象释放:void close();

JDBC工具类

1.工具类的抽取
  • 配置文件(在src下创建config.properties)

driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/db1
username=root
password=12345
  • 工具类

/*
    JDBC工具类
 */
public class JDBCUtils {
    //1.私有构造方法
    private JDBCUtils(){};

    //2.声明配置信息变量
    private static String driverClass;
    private static String url;
    private static String username;
    private static String password;
    private static Connection con;

    //3.静态代码块中实现加载配置文件和注册驱动
    static{
        try{
            //通过类加载器返回配置文件的字节流
            InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("config.properties");

            //创建Properties集合,加载流对象的信息
            Properties prop = new Properties();
            prop.load(is);

            //获取信息为变量赋值
            driverClass = prop.getProperty("driverClass");
            url = prop.getProperty("url");
            username = prop.getProperty("username");
            password = prop.getProperty("password");

            //注册驱动
            Class.forName(driverClass);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    //4.获取数据库连接的方法
    public static Connection getConnection() {
        try {
            con = DriverManager.getConnection(url,username,password);
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return con;
    }

    //5.释放资源的方法
    public static void close(Connection con, Statement stat, ResultSet rs) {
        if(con != null) {
            try {
                con.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        if(stat != null) {
            try {
                stat.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        if(rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

    public static void close(Connection con, Statement stat) {
        close(con,stat,null);
    }
}
  1. PreparedStatement
  • 预编译sql语句的执行者对象。在执行sql语句之前,将sql语句进行提前编译。明确sql语句的格式后,就不会改变了。剩余的内容都会认为是参数!参数使用?作为占位符

  • 为参数赋值的方法:setXxx(参数1,参数2);

  • 参数1:?的位置编号(编号从1开始)

  • 参数2:?的实际参数

  • 执行sql语句的方法

  • 执行insert、update、delete语句:int executeUpdate();

  • 执行select语句:ResultSet executeQuery();文章来源地址https://www.toymoban.com/news/detail-542445.html

到了这里,关于JDBC详细介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java数据库连接:JDBC介绍与简单示例

    在Java程序中,操作数据库是必不可少的。JDBC(Java Database Connectivity)是Java中用于连接和操作数据库的一种技术。通过JDBC,Java程序可以与各种关系型数据库进行交互,如MySQL、Oracle、PostgreSQL等。 JDBC是一种标准的Java API,它提供了一组接口,通过这些接口Java程序可以与数据库

    2024年02月07日
    浏览(51)
  • 【JDBC篇】java 如何连接数据库(超详细步骤)

    本文以java连接mysql为例讲解;仅仅记录了一部分知识点,其余我还没学完,后面会补充!初学JDBC文章仅仅是我个人对知识点的理解,请谨慎参考! 目录 Java连接数据库前期工作: JDBC程序编写步骤总览  JDBC编程的六步: 1,注册驱动   2,获得连接   3,获得数据库操作对象

    2024年02月08日
    浏览(51)
  • JDBC-->java如何连接数据库(详细版小白必备)

     个人名片: 🐅作者简介:一名大二在校生,热爱生活,爱好敲码! 💅个人主页 🥇:holy-wangle ➡系列内容: 🖼️ tkinter前端窗口界面创建与优化 🖼️ Java实现ATP小系统 ✨个性签名: 🍭不积跬步,无以至千里;不积小流,无以成江海         最近在忙着复习期末考试

    2024年02月04日
    浏览(40)
  • java中JDBC技术连接Mysql实现增删改查超级详细的教程

    简单概述:简单来说,JDBC就是java语言用来连接数据库的一种技术,使用java程序来操作数据库,实现数据的存储和处理。 准确介绍: JDBC 准确来说是java提供一组 API(方法 ),声明在 java.sq l包与 javax.sql 包中,这些方法主要是 接口 ,它更像是一种规范行为。然后由各个不同

    2024年02月05日
    浏览(35)
  • Microsoft SQL Server 2019 下载、安装及Java JDBC配置连接数据库(多图详解 超详细)

    一、下载 下载链接Microsoft SQL Server 二、安装 1.找到刚刚下载的文件,双击打开后,选择基本并接受 2.选择接受 3.选择安装位置,并点击安装,然后等待下载安装完成 4.正在安装 -5.遇到了一个问题,重启一下(未遇到该问题的可忽略此步) 6.安装成功,点击安装SSMS 7.点击下载

    2024年02月04日
    浏览(92)
  • JDBC Vertica Source Connector 使用文档

    Spark Flink SeaTunnel Zeta 批处理 精确一次性处理 列投影 并行处理 支持用户自定义拆分 支持查询 SQL 并实现投影效果 通过 JDBC 读取外部数据源数据。 Datasource Supported versions Driver Url Maven Vertica Different dependency version has different driver class. com.vertica.jdbc.Driver jdbc:vertica://localhost:5433/ve

    2024年02月12日
    浏览(26)
  • 初识JDBC——JDBC介绍、安装以及简单运用

    Java 数据库连接技术 (Java DataBase Connectivity) ,能实现 Java 程序对各种数据库的访问 由一组使用 Java 语言编写的类和接口 (JDBC API) 组成,它们位于 java.sql 以及 javax.sql 中         不必为不同的数据库专门编写不同的程序,而只需要加载不同的数据库驱动即可。 Class.forName (

    2024年02月06日
    浏览(30)
  • 超详细干货解决Exception in thread “main“ java.lang.ClassNotFoundException及No suitable driver found for jdbc

    最近一直被eclipse的WindowBuilder和java继jdbc连接Mysql的问题困扰,终于摸索出对我有用的解决方法,希望这对你也有所帮助! 首先,当你在eclipse等IDE编译器里Run数据库连接后,出现Exception in thread \\\"main\\\" java.lang.ClassNotFoundException的结果报错,我本人后面出现的还有illegal一串字符,

    2024年02月06日
    浏览(46)
  • MySQL:JDBC 详细内容

    驱动 :驱动程序即添加到操作系统中的 一小块代码 ,其中包含有关硬件设备的信息。有了此信息,计算机就可以与设备进行通信。驱动程序是硬件厂商根据操作系统编写的 配置文件 ,可以说没有驱动程序,计算机中的硬件就无法工作。 种类 :声卡驱动、显卡驱动、数据库

    2023年04月17日
    浏览(24)
  • JDBC(超详细)

    JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种 关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以 构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序 Java 具有坚固、

    2024年02月04日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包