文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

JDBC连接数据库----Mysql七大步骤详解

2023-09-05 12:37

关注

一、jdbc的概念

        1、什么是jdbc?

        JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发者能够编写数据库的程序。简单地说,JDBC 可做三件事:与数据库建立连接、发送 操作数据库的语句并处理结果。
  
  2、JDBC有什么用呢?
  
  可以让我们使用JAVA就能连接数据库,创建和执行SQL语句对数据库进行增删改查的操作,并可以查看执行后的结果记录,对数据库的数据进行维护和管理;
  

二、jdbc常用的方法接口

        java.sql.*   和  javax.sql.*

        1. Driver接口: 表示java驱动程序接口。所有的具体的数据库厂商要来实现此接口。

                connect(url, properties):  连接数据库的方法。

                url: 连接数据库的URL

                URL语法: jdbc协议:数据库子协议://主机:端口/数据库

                user: 数据库的用户名

                password: 数据库用户密码

        2. DriverManager类: 驱动管理器类,用于管理所有注册的驱动程序

                registerDriver(driver)  : 注册驱动类对象

                Connection getConnection(url,user,password):  获取连接对象

        3. Connection接口: 表示java程序和数据库的连接对象。

                Statement createStatement() : 创建Statement对象

                PreparedStatement prepareStatement(String sql):创建PreparedStatement对象

                CallableStatement prepareCall(String sql):创建CallableStatement对象

        4. Statement接口: 用于执行静态的sql语句

                int executeUpdate(String sql)  : 执行静态的更新sql语句(DDL,DML)

                ResultSet executeQuery(String sql)  :执行的静态的查询sql语句(DQL)

        5. PreparedStatement接口:用于执行预编译sql语句

                int executeUpdate() : 执行预编译的更新sql语句(DDL,DML)

                ResultSet executeQuery()  : 执行预编译的查询sql语句(DQL)

        6. CallableStatement接口:用于执行存储过程的sql语句(call xxx)

                ResultSet executeQuery()  : 调用存储过程的方法

        7. ResultSet接口:用于封装查询出来的数据

                boolean next() : 将光标移动到下一行

                getXX() : 获取列的值

二、使用jdbc操作数据库步骤

        1. 首先加载相关依赖,依赖的版本要和数据库的版本一致

                使用maven管理项目的话直接添加依赖
                        maven依赖仓库 https://mvnrepository.com/artifact/mysql/mysql-connector-java

  mysql  mysql-connector-java  8.0.22

                普通的java工程首先把依赖下载下来,然后创建一个lib包,把mysql依赖复制并添加进去
                        下载链接:mysql-connector-java-8.0.22.jar_免费高速下载|百度网盘-分享无限制 (baidu.com)
                        提取码:bs7p

        2.  提供数据库产品(驱动名称)——告诉jdbc我们从操作的是哪家的数据库产品,需要获取哪个驱动;
             提供数据库的url——告诉jdbc我们连接的是哪个服务器上面的哪个数据库;
             提供数据库的用户名和密码——登录数据库服务器,获得数据库的操作权限;

        3. 加载驱动——直接使用类反射机制加载driver驱动

//加载mysql驱动Class.forName(driver);

        4. 获取数据库连接——用driver驱动获取数据库连接connection

//获取数据库连接Connection conn = DriverManager.getConnection(url,user,pass);

        5. 编写sql语句——需要创建Statement对象把sql语句给数据库

//编写sql语句String sql = "insert into admin(username,password) values('测试账号','测试密码')";//创建StatementStatement statement = conn.createStatement();

        6. 使用Statement把sql语句发送给数据库执行

//执行sql语句int count = statement.executeUpdate(sql);System.out.println("执行sql成功,一共影响了"+count+"条数据");

        7. 关闭数据库连接,释放不必要的资源

//释放资源(建议先判断statement和conn是否为空再进行关闭)if(statement != null){    statement.close();}if(conn != null){    conn.close();}

三、操作示例和运行结果

        代码示例,(记得先把mysql的依赖导入进来

import java.sql.Connection;import java.sql.DriverManager;import java.sql.Statement;public class JdbcDemo{    //驱动名称(包含了数据库的产品和数据库的版本号)    private static String driver = "com.mysql.cj.jdbc.Driver";    //数据库的url    private static String url = "jdbc:mysql://localhost:3306/stusys?useSSL=false&serverTimezone=UTC";    //数据库用户名    private static String user = "root";    //数据库密码    private static String  pass = "123456";    //使用jdbc进行添加操作    public static void select() throws Exception {        //加载mysql驱动        Class.forName(driver);        //获取数据库连接        Connection conn = DriverManager.getConnection(url,user,pass);        //编写sql语句        String sql = "insert into admin(username,password) values('测试账号','测试密码')";        //创建Statement        Statement statement = conn.createStatement();        //执行sql语句        int count = statement.executeUpdate(sql);        System.out.println("执行sql成功,一共影响了"+count+"条数据");        //释放资源(建议先判断statement和conn是否为空再进行关闭)        if(statement != null){            statement.close();        }        if(conn != null){            conn.close();        }    }    //测试类的主方法    public static void main(String[] args) throws Exception {        select();    }}

代码运行前

代码运行结果

代码运行后,数据库发生变化 

 

 

来源地址:https://blog.csdn.net/GuoTengYue/article/details/126509632

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯