MySQL数据库之JDBC编程(从认识到操作)

这篇具有很好参考价值的文章主要介绍了MySQL数据库之JDBC编程(从认识到操作)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言

一.JDBC的认识

1.1JDBC的来源

1.2JDBC的概念

二.JDBC的导包 

三.JDBC的四步操作

三.JDBC常用的类和方法

 3.1常用类

3.2常见方法


🎁个人主页:tq02的博客_CSDN博客-C语言,Java,Java数据结构领域博主
🎥 本文由 tq02 原创,首发于 CSDN🙉
🎄 本章讲解内容:JDBC的详细讲解

MySQL数据库之JDBC编程(从认识到操作),MySQL,Java,数据库,mysql,java

🎥学习专栏:  C语言         JavaSE       MySQL基础  

前言

        我们学习过许多编程语言,例如C、C++、java等语言,那么我们能不能使用这种编程语言来操作数据库呢?实际上,我们很少会直接操作数据库,大部分情况下,我们使用代码来操作数据库,使用代码也是需要依赖于SQL语句。

注:在学习本博文,需要学会MySQL数据库的基本的操作。

一.JDBC的认识

1.1JDBC的来源

        数据库有很多种类,而不同的数据库都需要进行编程时,都需要使用数据库驱动包 ,不同的数据库,对应不同的编程语言提供了不同的数据库驱动包。例如:MySQL提供了Java的驱动包mysql-connector-java,需要基于Java操作MySQL即需要该驱动包;基于Java操作Oracle数据库则需要Oracle的数据库驱动包ojdbc。

        可是在实际而言,很多公司使用的数据库都不一样,那难道我需要掌握所有的数据库驱动包嘛?那岂不是需要投入大量的世界成本?因此在Java中出现了JDBC,它可以为多种数据库提供统一访问。

MySQL数据库之JDBC编程(从认识到操作),MySQL,Java,数据库,mysql,java

如此一来就不需要掌握各种驱动包的用法,只需掌握JDBC的用法。 

注:JDBC只存在于Java,而C++没有。

1.2JDBC的概念

        JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,这个API由 java.sql.*,javax.sql.* 包中的一些类和接口组成。

        JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发者能够编写数据库的程序。简单地说,JDBC 可做三件事:与数据库建立连接、发送 操作数据库的语句并处理结果。

二.JDBC的导包 

第一步:创建项目

MySQL数据库之JDBC编程(从认识到操作),MySQL,Java,数据库,mysql,java

第二步:下载MySQL驱动包,下载途径:MySQL驱动包下载  已下载可以跳过此步骤

MySQL数据库之JDBC编程(从认识到操作),MySQL,Java,数据库,mysql,java

 点击进去,会发现很多版本,下载的版本需要与MySQL服务器版本一致(小版本无所谓,大版本要一致)。

点击对应版本下载页面:

MySQL数据库之JDBC编程(从认识到操作),MySQL,Java,数据库,mysql,java

 第三步:将下载的驱动包导入到项目的目录当中
创建一个Directory目录,自命名,直接将mysql-connector-java-版本号.jar 复制到其中

MySQL数据库之JDBC编程(从认识到操作),MySQL,Java,数据库,mysql,java     MySQL数据库之JDBC编程(从认识到操作),MySQL,Java,数据库,mysql,java 

 第四步:右击jar包,点击Add as Library,从而进行最后的导包。

 MySQL数据库之JDBC编程(从认识到操作),MySQL,Java,数据库,mysql,java

三.JDBC的四步操作

        目前已经导包成功,我们先要加载MySQL的驱动类或者创建数据源=>知道数据库服务器的位置,使Java连接上MySQL数据库,因此我们需要建立数据库的连接,接着便是需要相关的类进行操作SQL语句。   使用JDBC操作数据库的主要步骤如下图:

MySQL数据库之JDBC编程(从认识到操作),MySQL,Java,数据库,mysql,java

  •  创建数据源并连接

数据的连接方式虽然有2种,但是在实际情况下,我们经常使用创建数据源来连接,并且DriverManager类来获取的Connection连接,是无法重复利用的,DataSource提供连接池的支持。连接池在初始化时将创建一定数量的数据库连接,这些连接是可以复用的

//1.创建数据源 DataSource是JDBC接口、  MySQLDataSource是MySQL驱动包提供的类
        DataSource dataSource=new  MysqlDataSource();

        //获取数据库的库名
        ((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/tq02? characterEncoding=utf8&useSSL=false");

        //数据库服务器的账户和密码
        ((MysqlDataSource) dataSource).setUser("root");
        ((MysqlDataSource) dataSource).setPassword("2222");

 // 2. 和数据库服务器建立连接~~
     Connection connection = dataSource.getConnection();

       虽然可以直接创建MySQLDataSource类,不需要通过向上转型,但是通过向上转型,可以降低MySQL驱动包和项目代码之间的耦合关系,避免更换数据库时的太大的成本。

        url唯一资源定位符,使用url描述网络上一个资源位置,MySQL本质是服务器,相当于网络上的资源。

         Connection类使用的是java.sql的,其他的不行,并且getConnection()异常,需要进行处理(throws或者try.....catch)。

MySQL数据库之JDBC编程(从认识到操作),MySQL,Java,数据库,mysql,java


  •  构造SQL语句

构造语句有2种方法,

  1. 直接构造,输入sql语句,固定数据写法
  2. 使用占位符("?")来代替具体的参数值,数据不固定。

直接写法实例: 

// 3.构造SQL语句 
    String sql = "insert into student values(1, "tq02")";
    PreparedStatement statement = connection.prepareStatement(sql);

    String sql2 = "select * from student ";
    PreparedStatement statement = connection.prepareStatement(sql2);

使用占位符实例:

// 3.构造SQL语句 
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入学号: ");
        int id = scanner.nextInt();
        System.out.println("请输入姓名: ");
        String name = scanner.next();   
//使用?来表示占位符,后期由用户输入获取
    String sql = "insert into student values(?, ?)";
    PreparedStatement statement = connection.prepareStatement(sql);
// 1代表第一个问号、2代表第二个问号          
          statement.setInt(1, id);
          statement.setString(2, name);
 

解析:JDBC提供了Statement(语句)对象,把String转换为Statement再发给服务器执行,但是一般而言会使用PreparedStatment对象来代替Statement

原因:Statement是原封不动将sql语句发送到数据库服务器,而PreparedStatment则会先解析一遍sql语句,判断语法格式是否正确,再发送到数据库服务器,从而降低服务器的负担


  • 执行sql语句

 执行sql语句需要使用到2个方法:

  1. ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象。
  2. int executeUpdate(String sqlString):用于执行INSERT、UPDATE或 DELETE语句以及SQL DDL语句,返回一个操作的行数

:查询出来的结果全在ResultSet对象中,需要进行遍历得到结果。

使用executeUpdate()实例:

// 构造SQL语句 
    String sql = "insert into student values(1, "tq02")";
    PreparedStatement statement = connection.prepareStatement(sql);

// 执行 SQL 语句~. 返回值就是 "这次操作影响到几行"
    int n = statement.executeUpdate();
    System.out.println("n = " + n);

使用executeQuery()实例:

//创建SQL语句
String sql = "select * from student ";
PreparedStatement statement = connection.prepareStatement(sql);

// 执行查询操作, 要使用 executeQuery. 返回值是一个 ResultSet 类型的对象. 表示了一个 "表格"
//表格中存放的是查询出来的结果
   ResultSet resultSet = statement.executeQuery();

// 遍历结果集合
        while (resultSet.next()) {
            // 获取到这一行的 学号 列
            int id = resultSet.getInt("id");
            // 获取到这一行的 姓名 列
            String name = resultSet.getString("name");
            System.out.println("id: " + id + ", name: " + name);
        }

  •  释放必要的资源,关闭连接

        最后一步了,sql语句执行完毕之后,需要进行释放,创建的语句对象和连接对象都会持有一些计算机资源,当不用了,需要释放。Java当中虽然会有“垃圾回收”机制,可自动释放内存,但是,计算机资源不仅仅是内存。

 // 5. 释放必要的资源. 关闭连接.
        resultSet.close();
        connection.close();
        statement.close();

:释放资源,关闭顺序和创建顺序相反。

三.JDBC常用的类和方法

 3.1常用类

  1. java.sql.DriverManager:用于管理JDBC驱动程序的类,负责加载和注册驱动程序。
  2. java.sql.Connection:表示与数据库的连接,用于创建和执行SQL语句。
  3. java.sql.Statement:用于执行静态SQL语句并返回结果的对象。
  4. java.sql.PreparedStatement:继承自Statement,用于执行预编译的SQL语句,可以提高性能和安全性。
  5. java.sql.ResultSet:表示数据库结果集的数据表,用于存储查询结果
  6. javax.sql.DataSource:提供了连接池的功能,用于管理数据库连接。
  7. java.sql.SQLException:处理与数据库连接和操作相关的异常。

3.2常见方法

1. DriverManager类的getConnection()方法

        通过传入数据库的URL、用户名和密码来获取一个Connection对象,从而连接数据库

2.Statement对象的executeQuery()方法

       执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象。

3.Statement对象的executeUdpdate()方法 

        执行增、删、改的sql语句,返回的行数

4.ResultSet对象的next()方法

        遍历结果集中的每一行数据,并使用getXXX方法获取每一列的值。

5. Connection对象的setAutoCommit()方法

        设置是否自动提交事务,使用commit方法提交事务,使用rollback方法回滚事务。

6. Connection、Statement和ResultSet对象的close()方法

        关闭数据库连接、释放资源。

        JDBC的并不难,难的是理解,只要看懂了操作步骤,其他的也能顺其自然的理解到位。

                                                                                                        ---------懒惰的tq02文章来源地址https://www.toymoban.com/news/detail-609733.html

到了这里,关于MySQL数据库之JDBC编程(从认识到操作)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • JSP在线小说系统用eclipse定制开发mysql数据库BS模式java编程jdbc

    一、源码特点      JSP 在线小说系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,eclipse开发,数据库为Mysql5.0,使用java语言开发。 JSP在线小说系统用eclipse定制开发mysql数据库

    2024年02月12日
    浏览(47)
  • JSP网上手机商城系统 用eclipse定制开发mysql数据库BS模式java编程jdbc

    一、源码特点      JSP 网上手机商城系统是一套完善的web设计系统,对理解JSP java SERLVET mvc编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,eclipse开发,数据库为Mysql5.0,使用java语言开发。 JSP网上手机商城系统 用eclipse定

    2024年02月13日
    浏览(44)
  • JSP网上订餐管理系统用eclipse定制开发mysql数据库BS模式java编程jdbc

    一、源码特点      JSP 网上订餐管理系统是一套完善的web设计系统,对理解JSP java SERLVET mvc编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,eclipse开发,数据库为Mysql5.0,使用java语言开发。 JSP网上订餐管理系统用eclipse定

    2024年02月12日
    浏览(45)
  • MySQL数据库,JDBC连接数据库操作流程详细介绍

    在学完 MySQL 和 Java 后,我们通常会尝试使用 Java编译器 连接 MySQL数据库,从而达到使用编译器来操作数据库的效果。连接的这个过程会用 JDBC 相关知识,因此我把 JDBC 包的下载及导入流程,以及 JDBC 的使用流程整理下来分享给大家。 目录 1. 啥是JDBC? 2. JDBC依赖包 2.1 依赖包

    2024年02月06日
    浏览(104)
  • JAVA连接数据库 JDBC编程

    提供修改数据库和查询数据库的代码,两者只有很细微的差别         注意在进行连接数据库首先你得下载你对应MYSQL版本的JDBC驱动包,比如MYSQL8.0版本的你就要下载MYSQL8.0版本的JDBC驱动包,MYSQL5.1版本的你就要下载MYSQL5.1版本的JDBC驱动包 我下载的8.0版本的驱动包就是这个

    2024年02月15日
    浏览(61)
  • JDBC --- Java的数据库编程

    目录 🍈一、数据库编程的必备条件 🍉二、什么是 JDBC JDBC 的优势 🍊三、JDBC 使用流程 以及 常用接口和类的讲解 🍡0. 前置工作 🍭1. 引入依赖 🍬2. 数据库连接Connection 🍬3. 创建操作命令 Statement 🍫4. 使用操作命令来执行 SQL 🧁5. 处理结果集 ResultSet 🍰6. 释放资源 🎂完整

    2024年02月09日
    浏览(62)
  • 【数据库】Java的JDBC编程(idea链接数据库)

    目录 前言 1、Java的数据库编程:JDBC    2、使用JDBC(项目中导入数据库驱动包) 2.1、获取驱动包 2.2、将数据库驱动包导入Java项目中 2.3、使用JDBC编写代码 2.3.1、创建并初始化一个数据源 2.3.2、 和数据库服务器建立链接 2.3.3、构建SQL语句  2.3.4、执行SQL语句  2.3.4、释放资源

    2024年02月02日
    浏览(51)
  • 【JDBC】Java连接MySQL数据库

    数据库编程指的是通过编程语言与数据库进行交互和操作的过程,包括使用编程语言创建、连接、查询、更新和删除数据库中的数据,以及管理数据库结构和其他相关工作等。 另外,不同的数据库,对应不同的编程语言提供了不同的数据库驱动包,如:MySQL提供了Java的驱动包

    2024年02月15日
    浏览(142)
  • Java连接mysql数据库方法及代码(jdbc)

    编译器使用IDEA 我的相关博客: java代码程序中连接mysql数据库的方法及代码 mysql数据库并发上锁问题,java代码 1.首先从mysql官网下载mysql-connector-java.jar包到本地。 这里注意要和你本地的mysql数据库版本相匹配! 下载相应的压缩包,在本地解压即可进行下一步操作。 2.打开自己

    2024年02月08日
    浏览(67)
  • Java-JDBC建立数据库连接(MySQL)

    注意:连接数据需要先在JAVA中导入mysql的jar包。 1.1—下载JAR包 1、打开浏览器搜索MySQL,进入官网 2、点击DOWNLOADS    3、点击 MySQL Community (GPL) Downloads  4、点击Connector/J 5、点击Archieve 6、选择版本,和OS,然后点击下载即可。          版本号 下载地址 8.0.32 https://download

    2024年02月03日
    浏览(77)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包