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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 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对象封装的

创建实体类

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

封装数据到实体类里面去

然后放入集合容器

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3天前
|
监控 供应链 搜索推荐
阿里妈妈商品详情API接口:开发、应用与收益的深度剖析
阿里妈妈是阿里巴巴旗下的数字营销平台,其商品详情API接口为开发者提供了获取淘宝、天猫等电商平台商品详细信息的工具。本文介绍了该接口的开发流程、应用场景及带来的收益,揭示了其在电商生态中的重要地位。
26 6
|
3天前
|
供应链 搜索推荐 API
1688APP原数据API接口的开发、应用与收益(一篇文章全明白)
1688作为全球知名的B2B电商平台,通过开放的原数据API接口,为开发者提供了丰富的数据资源,涵盖商品信息、交易数据、店铺信息、物流信息和用户信息等。本文将深入探讨1688 APP原数据API接口的开发、应用及其带来的商业收益,包括提升流量、优化库存管理、增强用户体验等方面。
26 6
|
5天前
|
监控 搜索推荐 API
京东商品详情API接口的开发、应用与收益探索
在数字化和互联网高速发展的时代,京东通过开放商品详情API接口,为开发者、企业和商家提供了丰富的数据源和创新空间。本文将探讨该API接口的开发背景、流程、应用场景及带来的多重收益,包括促进生态系统建设、提升数据利用效率和推动数字化转型等。
20 3
|
10天前
|
供应链 搜索推荐 API
探索1688榜单商品详细信息API接口:开发、应用与收益
本文深入探讨了1688榜单商品详细信息API接口的开发与应用,涵盖接口概述、开发条件、调用方法及数据处理等内容。该API帮助企业高效获取1688平台商品信息,应用于商品信息采集、校验、同步与数据分析等领域,有效提升了企业的运营效率、库存管理、销售转化率及市场策略制定能力,降低了采购成本,提升了客户满意度。
36 9
|
13天前
|
算法 Java API
如何使用Java开发获得淘宝商品描述API接口?
本文详细介绍如何使用Java开发调用淘宝商品描述API接口,涵盖从注册淘宝开放平台账号、阅读平台规则、创建应用并申请接口权限,到安装开发工具、配置开发环境、获取访问令牌,以及具体的Java代码实现和注意事项。通过遵循这些步骤,开发者可以高效地获取商品详情、描述及图片等信息,为项目和业务增添价值。
47 10
|
13天前
|
存储 API 数据库
使用Python开发获取商品销量详情API接口
本文介绍了使用Python开发获取商品销量详情的API接口方法,涵盖API接口概述、技术选型(Flask与FastAPI)、环境准备、API接口创建及调用淘宝开放平台API等内容。通过示例代码,详细说明了如何构建和调用API,以及开发过程中需要注意的事项,如数据库连接、API权限、错误处理、安全性和性能优化等。
58 5
|
12天前
|
数据可视化 搜索推荐 API
速卖通获得aliexpress商品详情API接口的开发、应用与收益。
速卖通(AliExpress)作为阿里巴巴旗下的跨境电商平台,为全球消费者提供丰富商品。其开放平台提供的API接口支持开发者获取商品详情等信息,本文探讨了速卖通商品详情API的开发流程、应用场景及潜在收益,包括提高运营效率、降低成本、增加收入和提升竞争力等方面。
30 1
|
26天前
|
JSON API 数据格式
探索后端开发:从零构建简易RESTful API
在数字时代的浪潮中,后端开发如同搭建一座桥梁,连接着用户界面与数据世界。本文将引导读者步入后端开发的殿堂,通过构建一个简易的RESTful API,揭示其背后的逻辑与魅力。我们将从基础概念出发,逐步深入到实际操作,不仅分享代码示例,更探讨如何思考和解决问题,让每一位读者都能在后端开发的道路上迈出坚实的一步。
|
1月前
|
缓存 前端开发 API
深入浅出:后端开发中的RESTful API设计原则
【10月更文挑战第43天】在数字化浪潮中,后端开发如同搭建梦想的脚手架,而RESTful API则是连接梦想与现实的桥梁。本文将带你领略API设计的哲学之美,探索如何通过简洁明了的设计,提升开发效率与用户体验。从资源定位到接口约束,从状态转换到性能优化,我们将一步步构建高效、易用、可维护的后端服务。无论你是初涉后端的新手,还是寻求进阶的开发者,这篇文章都将为你的开发之路提供指引。让我们一起走进RESTful API的世界,解锁后端开发的新篇章。
|
29天前
|
缓存 API 数据库
Python哪个框架合适开发速卖通商品详情api?
在跨境电商平台速卖通的商品详情数据获取与整合中,Python 语言及其多种框架(如 Flask、Django、Tornado 和 FastAPI)提供了高效解决方案。Flask 简洁灵活,适合快速开发;Django 功能全面,适用于大型项目;Tornado 性能卓越,擅长处理高并发;FastAPI 结合类型提示和异步编程,开发体验优秀。选择合适的框架需综合考虑项目规模、性能要求和团队技术栈。
26 2
下一篇
DataWorks