Jdbc的使用

本文详细介绍了JDBC中的核心类和接口,如DriverManager用于注册驱动,Connection建立数据库连接,Statement和PreparedStatement执行SQL,以及如何使用Statement进行SQL查询并处理Result。展示了使用StatementQuery在Java中操作MySQL数据库的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jdbc核心类和接口

DriverManager:(作用)

  • 将第三方jar包注册到程序中,
  • 可以根据数据库连接信息获取connection

Connection:(作用)

  • 和数据库建立的连接,在连接对象上,可以多次执行数据库的crud动作,
  • 可以获取statement和preparedStatement以及callableStatement对象。

Statement|PreparedStatement|CallableStatement:(作用)

  • 具体发送SQL语句到数据库管理软件的对象,
  • 不同发送方式稍有不同!preparedStatement是重点

不同Statement的不同:

  1. Statement:执行静态SQL语句(没有动态值语句),没有条件值(或条件只涉及常数)->整个语句可以写成固定的字符串
  2. PreparedStatement:有动态值(预编译SQL路线);
  3. 执行标准存储过程。


Result:

  • OOP的产物(抽象成数据库的查询结果表

  • 存储DQL查询结果的对象(查询语句返回结果,其他语句返回int类型)

  • 需要我们进行解析,获取具体的数据库数据。

 jdbc基本使用步骤分析(6步)

  1. 注册驱动:把依赖的jar包进行安装

  2. 建立连接connection;

  3. 创建发送sql语句的对象statement;

  4. statement对象发送SQL语句到数据库,并且获取返回结果resultSet;

  5. 解析结果集;

  6. 释放资源:砸桥connection,砸车statement,砸箱子resultSet

java实现基于statement演示查询

例子:使用statement查询t_user表下的数据

package com.jdbcLearning.statement;

import com.mysql.cj.jdbc.Driver;

import java.sql.*;
/**
 * 
 * introduction:使用statement查询t_user表下的数据
 */
public class StatementQuery {
    /**
     * TODO:
     *      DriverManager
     *      Connection
     *      Statement
     *      ResultSet
     * @param args
     */
    public static void main(String[] args) throws SQLException {
//        1. 注册驱动:把依赖的jar包进行安装
        /**
         * TODO:
         *      注册驱动
         *      依赖:驱动版本 8+ com.mysql.cj.jdbc.Driver
         *           驱动版本 5+ com.mysql.jdbc.Driver
         *
         */
        DriverManager.registerDriver(new Driver());


//        2. 建立连接connection
        /**
         * TODO:
         *      连接要素:
         *          数据库ip 127.0.0.1
         *          db端口号 默认3306
         *          账号 root
         *          密码
         *          连接数据库名称: jdbcTestDb
         */
        /**
         * para1:url
         *      jdbc:数据库厂商名://ip:port/数据库名
         *      jdbc:mysql://127.0.0.1:3306/jdbcTestDb
         *
         */
        Connection connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/jdbcTestDb", "root", "gaoceng3905");

//        3. 创建发送sql语句的对象statement;


        Statement statement = connection.createStatement();


//        4. statement对象发送SQL语句到数据库,并且获取返回结果resultSet


        String sql = "select * from t_user";
        ResultSet resultSet = statement.executeQuery(sql);


//        5. 解析结果集


        //先看看有没有
        while(resultSet.next()){
            int id = resultSet.getInt("id");
            String account = resultSet.getString("account");
            String password = resultSet.getString("password");
            String nickname = resultSet.getString("nickname");
            System.out.println(id+"--"+account+"--"+password+"--"+nickname);
        }


//        6. 释放资源:砸桥connection,砸车statement,砸箱子resultSet


        resultSet.close();
        statement.close();
        connection.close();
    }
}
 

url:JDBC核心技术笔记(MySQL8+Java17)_java17搭配mysql哪一个版本-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值