JDBC开发之四大核心API:DriverManager Connection Statement ResultSet

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: JDBC开发之四大核心API:DriverManager Connection Statement ResultSet

DriverManager

方法都是静态的

注册驱动

在Mysql5之后我们就不用注册驱动了

在jar包里已经写好了

读取文件

第二个方法

如果连接的是主机mysql并且端口是默认的3306

则可以简化书写

代码书写

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
 
 
public class Main {
 
    //JDBC的快速入门
    public static void main(String[] args) throws Exception {
        //注册驱动
//        Class.forName("com.mysql.cj.jdbc.Driver");
 
        //获取连接
        String url = "jdbc:mysql:///mybatis?serverTimezone=UTC&useSSL=false";
        String username = "root";
        String password = "123456";
        Connection conn = DriverManager.getConnection(url, username, password);
 
        //定义SQL语句
        String sql = "update tbl_user set age = 21 where id=1";
 
        //获取执行SQL的对象
        Statement stmt = conn.createStatement();
 
        //执行SQL
        int count1 = stmt.executeUpdate(sql);
 
        //处理结果
        System.out.println(count1);
 
        //释放资源
        stmt.close();
        conn.close();
    }
 
}

Connection

数据库连接对象

非常重要的功能

事物管理

sql语句设置被事物管理

要不同时成功 要不同时失败

这样用异常包围

在加上修饰的代码

try {
    //开启事物
    conn.setAutoCommit(false);
 
    //执行SQL
    int count1 = stmt.executeUpdate(sql1);
    int count2 = stmt.executeUpdate(sql2);
 
    //处理结果
    System.out.println(count1);
    System.out.println(count2);
 
    //提交事务
    conn.commit();
} catch (Exception e) {
 
    //回滚事务
    conn.rollback();
 
    e.printStackTrace();
}

整体代码

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
 
 
public class Main {
 
    //JDBC的快速入门
    public static void main(String[] args) throws Exception {
        //注册驱动
//        Class.forName("com.mysql.cj.jdbc.Driver");
 
        //获取连接
        String url = "jdbc:mysql:///mybatis?serverTimezone=UTC&useSSL=false";
        String username = "root";
        String password = "123456";
        Connection conn = DriverManager.getConnection(url, username, password);
 
        //定义SQL语句
        String sql1 = "update tbl_user set age = 21 where id=1";
        String sql2 = "update tbl_user set age = 21 where id=2";
 
        //获取执行SQL的对象
        Statement stmt = conn.createStatement();
 
        try {
            //开启事物
            conn.setAutoCommit(false);
 
            //执行SQL
            int count1 = stmt.executeUpdate(sql1);
            int count2 = stmt.executeUpdate(sql2);
 
            //处理结果
            System.out.println(count1);
            System.out.println(count2);
 
            //提交事务
            conn.commit();
        } catch (Exception e) {
 
            //回滚事务
            conn.rollback();
 
            e.printStackTrace();
        }
 
        //释放资源
        stmt.close();
        conn.close();
    }
 
}

Statement

执行SQL语句

处理结果

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
 
 
public class Main {
 
    //JDBC的快速入门
    public static void main(String[] args) throws Exception {
        //注册驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
 
        //获取连接
        String url = "jdbc:mysql:///mybatis?serverTimezone=UTC&useSSL=false";
        String username = "root";
        String password = "123456";
        Connection conn = DriverManager.getConnection(url, username, password);
 
        //定义SQL语句
        String sql = "update tbl_user set age = 21 where id=1";
 
        //获取执行SQL的对象
        Statement stmt = conn.createStatement();
 
        //执行SQL
        int count = stmt.executeUpdate(sql);//执行完DML语句 受影响的行数
 
        //处理结果
        System.out.println(count>0?"修改成功":"修改失败");
 
        //释放资源
        stmt.close();
        conn.close();
    }
 
}

创建新的数据库

删除数据库

ResultSet

查询相关的API

将来我们的查询代码使用频率最高

查询相关的API

将来我们的查询代码使用频率最高

书写代码

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
 
 
public class Main {
 
    //JDBC的快速入门
    public static void main(String[] args) throws Exception {
        //注册驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
 
        //获取连接
        String url = "jdbc:mysql:///mybatis?serverTimezone=UTC&useSSL=false";
        String username = "root";
        String password = "123456";
        Connection conn = DriverManager.getConnection(url, username, password);
 
        //定义SQL语句
        String sql = "select * from tbl_user";
 
        //获取statement对象
        Statement stmt=conn.createStatement();
 
        //执行SQL
        ResultSet rs=stmt.executeQuery(sql);
 
        //遍历集合
        while(rs.next()){
            //获取数据
            int id=rs.getInt(1);
            String name=rs.getString(2);
            String age=rs.getString(3);
            String gender=rs.getString(4);
            System.out.println(id+" "+name+" "+age+" "+gender);
        }
 
        //释放资源
        rs.close();
        conn.close();
    }
 
}

方法重载

参数改为列的名称也行

案例

数据对象是用java对象封装的

创建实体类

成员属性和数据库里面的字段名一一对应

封装数据到实体类里面去

然后放入集合容器

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
10天前
|
监控 搜索推荐 API
淘宝店铺详情API接口的开发、应用与收益
淘宝开放平台提供了丰富的API接口,帮助开发者获取海量的商品和店铺数据。本文聚焦于淘宝店铺详情API接口的开发、应用及收益。首先,开发者需注册账号并创建应用以获取API密钥。接着,通过阅读接口文档,使用Python等语言编写代码调用API,处理返回的数据。该接口广泛应用于竞品分析、数据分析、价格监控、个性化推荐等领域,为开发者带来提高用户体验、降低运营成本、增加收入等多方面收益。同时,开发者需注意遵守法律法规、请求频率限制及数据安全等问题,确保合法合规地使用接口资源。
30 4
|
20天前
|
自然语言处理 搜索推荐 数据挖掘
淘宝商品描述 API 接口的开发、应用与收益
淘宝商品描述API接口的开发与应用涵盖注册成为开发者、了解API规范、选择开发工具及语言(如Python)和实现代码调用。该接口可用于优化电商平台商品展示、同步数据、竞品分析、智能客服及个性化推荐,从而提高销售转化率、降低运营成本并拓展业务机会。通过自动化处理和数据分析,企业能更精准地满足消费者需求,提升竞争力。
58 9
|
1月前
|
API 数据安全/隐私保护 UED
探索鸿蒙的蓝牙A2DP与访问API:从学习到实现的开发之旅
在掌握了鸿蒙系统的开发基础后,我挑战了蓝牙功能的开发。通过Bluetooth A2DP和Access API,实现了蓝牙音频流传输、设备连接和权限管理。具体步骤包括:理解API作用、配置环境与权限、扫描并连接设备、实现音频流控制及动态切换设备。最终,我构建了一个简单的蓝牙音频播放器,具备设备扫描、连接、音频播放与停止、切换输出设备等功能。这次开发让我对蓝牙技术有了更深的理解,也为未来的复杂项目打下了坚实的基础。
112 58
探索鸿蒙的蓝牙A2DP与访问API:从学习到实现的开发之旅
|
4天前
|
监控 Cloud Native 安全
基于 API 网关践行 API First 开发实践
API First 开发模式的核心在于:以 API 为先,将其视为“头等公民”,在构建应用、服务及集成之前,应优先定义并设计 API 及其配套。API First 作为一种相对较新的开发模式,它已逐渐流行并获得业内的广泛认可。
|
26天前
|
安全 搜索推荐 数据挖掘
虾皮店铺商品API接口的开发、运用与收益
虾皮(Shopee)作为东南亚领先的电商平台,通过开放API接口为商家和开发者提供了全面的数据支持。本文详细介绍虾皮店铺商品API的开发与运用,涵盖注册认证、API文档解读、请求参数设置、签名生成、HTTP请求发送及响应解析等步骤,并提供Python代码示例。API接口广泛应用于电商导购、价格比较、商品推荐、数据分析等场景,带来提升用户体验、增加流量、提高运营效率等收益。开发者需注意API密钥安全、请求频率控制及遵守使用规则,确保接口稳定可靠。虾皮API推动了电商行业的创新与发展。
101 31
|
15天前
|
API 开发者
通义灵码 API 开发文档自动生成场景DEMO
通义灵码API开发文档自动生成场景DEMO展示了通过自定义指令,大模型能快速根据类代码生成Markdown格式的API文档。文档详细描述API的入参、出参,并可生成测试代码等示例,帮助开发者快速创建美观的API文档。
|
24天前
|
监控 搜索推荐 API
京东JD商品详情原数据API接口的开发、运用与收益
京东商品详情API接口是京东开放平台的重要组成部分,通过程序化方式向第三方提供商品详细信息,涵盖名称、价格、库存等。它促进了京东生态系统的建设,提升了数据利用效率,并推动了企业和商家的数字化转型。开发者可通过注册账号、获取密钥、调用接口并解析返回结果来使用该API。应用场景包括电商平台的价格监控、竞品分析、个性化推荐系统开发、移动应用开发及数据整合与共享等。该接口不仅为企业和开发者带来商业价值提升、用户体验优化,还助力数据资产积累,未来应用前景广阔。
94 9
|
28天前
|
存储 搜索推荐 API
拼多多根据ID取商品详情原数据API接口的开发、运用与收益
拼多多作为中国电商市场的重要参与者,通过开放平台提供了丰富的API接口,其中根据ID取商品详情原数据的API接口尤为重要。该接口允许开发者通过编程方式获取商品的详细信息,为电商数据分析、竞品分析、价格监测、商品推荐等多个领域带来了丰富的应用场景和显著的收益。
56 10
|
21天前
|
存储 JSON API
小红书获取笔记详情API接口的开发、应用与收益。
小红书笔记详情API采用Python与Django框架开发,使用MySQL数据库存储数据。接口通过HTTP GET请求获取笔记详情,返回JSON格式数据,包含笔记内容、作者信息、图片链接等。该API应用于小红书APP内笔记展示和互动功能,并支持第三方平台的内容整合与数据分析,提升用户体验与活跃度,促进品牌合作推广,优化平台运营效率,为平台带来显著收益。
90 1
|
27天前
|
JSON 供应链 搜索推荐
淘宝APP分类API接口:开发、运用与收益全解析
淘宝APP作为国内领先的购物平台,拥有丰富的商品资源和庞大的用户群体。分类API接口是实现商品分类管理、查询及个性化推荐的关键工具。通过开发和使用该接口,商家可以构建分类树、进行商品查询与搜索、提供个性化推荐,从而提高销售额、增加商品曝光、提升用户体验并降低运营成本。此外,它还能帮助拓展业务范围,满足用户的多样化需求,推动电商业务的发展和创新。
51 5

热门文章

最新文章