JDBC概述(什么是JDBC?JDBC的原理、Mysql和Sql Server入门JDBC操作)

Hi i,m JinXiang


⭐ 前言 ⭐

本篇文章主要介绍JDBC概述(什么是JDBC?JDBC的原理、Mysql和Sql Server入门JDBC操作)简单知识以及部分理论知识


🍉欢迎点赞 👍 收藏留言评论 📝私信必回哟😁

🍉博主收将持续更新学习记录获,友友们有任何问题可以在评论区留言


目录

⭐什么是JDBC?

⭐为什么要使用JDBC

🍧使用JDBC有以下几个主要原因:

🍧使用JDBC的好处:

⭐JDBC的原理?

[⭐Mysql和sql server入门JDBC操作](#⭐Mysql和sql server入门JDBC操作)

🍧1、Mysql的JDBC操作

[🍧2、Sql Server的JDBC操作](#🍧2、Sql Server的JDBC操作)


⭐什么是JDBC?

JDBC是Java Database Connectivity的缩写

是一种用于Java程序访问关系型数据库的API(应用程序接口)。

它允许Java程序员使用标准的SQL语句来访问和操作关系型数据库。JDBC提供了一种标准的方式来连接到不同数据库的驱动程序,并且是Java EE平台上进行数据访问的基础。它提供了许多接口和类,使Java应用程序可以通过它们来访问和管理关系型数据库。

⭐为什么要使用JDBC

🍧使用JDBC有以下几个主要原因:

  1. Java语言的跨平台性:JDBC可以在各种操作系统和计算机体系结构上运行,这使得使用Java开发的应用程序可以方便地与不同类型的数据库进行交互。

  2. 标准化:JDBC是一个标准化的API,提供了一致的访问关系数据库的方法,使得不同的JDBC驱动程序可以实现相同的接口。这方便了Java开发人员在不同的关系型数据库之间切换。

  3. 安全性:使用JDBC可以使数据访问更加安全。通过JDBC API访问数据库,可以避免直接在代码中包含SQL语句,从而防止SQL注入攻击。

  4. 性能:JDBC可以提供高效的数据访问,因为它允许Java程序员使用原生SQL语言来访问数据库,而且JDBC驱动程序可以优化SQL语句的执行。

综上所述,JDBC是Java开发人员进行关系型数据库操作的重要工具,它提供了一种标准化的方式来连接到不同数据库的驱动程序,并且可以保证安全、跨平台和高效的数据访问。

🍧使用JDBC的好处:

  1. 简化了Java应用程序与各种数据库之间的连接和数据交互,使Java应用程序可以与不同类型的数据库通信。

  2. 通过JDBC,开发人员能够使用标准SQL语句来执行数据库查询,修改和更新等操作,而无需了解特定数据库的API。

  3. 可以使用JDBC提供的API来保证数据的完整性和安全性,并提高数据访问的效率。

  4. JDBC允许开发人员使用Java语言来编写数据库驱动程序,从而提供了一个灵活的方式来访问数据库。

  5. JDBC提供了一种标准的方式来访问和管理关系型数据库,这使得Java EE平台上对数据进行管理更加容易和可靠。

⭐JDBC的原理?

JDBC(Java Database Connectivity)是Java语言访问关系型数据库的标准API。它的原理如下:

  1. 加载数据库驱动:在Java应用程序中,首先需要加载适当的数据库驱动程序。

  2. 连接数据库:使用Java程序中的getConnection()方法与数据库建立连接。

  3. 创建操作对象:使用Java程序中的Statement对象或者PreparedStatement对象来执行SQL语句。

  4. 执行SQL语句:使用Statement对象或者PreparedStatement对象来执行SQL语句,在执行SQL语句之前,需要对SQL语句进行预编译。

  5. 处理查询结果:使用ResultSet对象来处理从数据库返回的查询结果。

  6. 释放资源:使用Java程序中的close()方法释放资源(ResultSet对象、Statement对象、Connection对象)。

JDBC的执行过程是通过Java语言的标准接口实现的,具有跨平台的优点。同时,JDBC也支持连接池和事务管理等功能。

⭐Mysql和sql server入门JDBC操作

🍧1、Mysql的JDBC操作

java 复制代码
package jdbc;

import java.sql.*;

public class JdbcDome {
    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/1127douyinDB";
        String user = "root";
        String password = "root";

        try {
            // 加载MySQL驱动程序
            Class.forName("com.mysql.cj.jdbc.Driver");

            // 建立MySQL数据库连接
            Connection connection = DriverManager.getConnection(url, user, password);

            // 创建Statement对象
            Statement statement = connection.createStatement();

            // 执行SQL查询语句
            ResultSet resultSet = statement.executeQuery("SELECT * FROM douyin");

            // 处理查询结果
            while (resultSet.next()) {
                int id = resultSet.getInt("id");
                String liveStreaming = resultSet.getString("liveStreaming");
                int looknumber = resultSet.getInt("looknumber");
                System.out.println("id: " + id +"\tName: " + liveStreaming + "\tlooknumber: " + looknumber);
            }

            // 关闭ResultSet、Statement和Connection对象
            resultSet.close();
            statement.close();
            connection.close();
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        }
    }
}

这些代码实现了连接到MySQL数据库并查询student表中的数据,并且输出查询结果。需要注意的是,实际开发中建议使用try-with-resources语句来自动关闭资源,而不是手动调用close()方法。

🍧2、Sql Server的JDBC操作

java 复制代码
import java.sql.*;

public class Dome {
    public static void main(String[] args) {
        //定义加载驱动
        String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
        //定义数据库用户
        String userName = "sa";
        //定义数据库密码
        String userPwd = "sasa";
        //定义数据库连接对象
        Connection dbConn = null;
        //定义命令对象
        Statement stmt=null;
        try {
            //1.加载及注册驱动
            Class.forName(driverName);
            //2.定义数据库连接字符串
            String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseName=LOLDB";
            //3.数据库连接
            dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
            System.out.println("连接数据库成功");
            //4.定义SQL语句
            String sql="select * from LolNameTab";
            //5.创建一个执行sql对象
            stmt=dbConn.createStatement();
            //6.执行SQL语句命令
            ResultSet resultSet = stmt.executeQuery(sql);
            //7.处理结果,并获取数据
            while (resultSet.next()){
                String userID=resultSet.getString("userID");
                String password=resultSet.getString("password");
                String name=resultSet.getString("userName");
                System.out.println(userID+"\t"+password+"\t"+name);
            }
            //8.关闭连接
            resultSet.close();
            dbConn.close();
            stmt.close();
        } catch (SQLException e) {      //数据库的处理异常的方法
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }finally {
            if (dbConn!=null){
                try {
                    dbConn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if(stmt!=null){
                try {
                    stmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

总结不易,希望uu们不要吝啬亲爱的👍哟(^U^)ノ~YO!!如有问题,欢迎评论区批评指正😁

相关推荐
yava_free22 分钟前
JVM这个工具的使用方法
java·jvm
不会编程的懒洋洋1 小时前
Spring Cloud Eureka 服务注册与发现
java·笔记·后端·学习·spring·spring cloud·eureka
FIN技术铺1 小时前
问:数据库的六种锁机制实践总结?
数据库·sql·oracle
赖龙1 小时前
java程序打包及执行 jar命令及运行jar文件
java·pycharm·jar
U12Euphoria1 小时前
java的runnable jar采用exe和.bat两种方式解决jre环境的问题
java·pycharm·jar
java小吕布1 小时前
Java Lambda表达式详解:函数式编程的简洁之道
java·开发语言
程序员劝退师_1 小时前
优惠券秒杀的背后原理
java·数据库
Gauss松鼠会1 小时前
GaussDB全密态数据库等值查询
数据库·oracle·gaussdb
JSUITDLWXL1 小时前
在Oracle数据中更新整个对象和更新对象的某几个字段时,他们的锁是相同的吗
数据库·oracle
杏花春雨江南1 小时前
ddl/dml/dcl
数据库·oracle