对jdbc的讲解

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: jdbc


📦个人主页:楠慧

🏆简介:一个大二的科班出身的,主要研究Java后端开发

⏰座右铭:成功之前我们要做应该做的事情,成功之后才能做我们喜欢的事

💕 过客的你,可以给博主留下一个小小的关注吗?这是给博主最大的支持。以后博主会更新大量的优质的作品!!!!

一、JDBC快速入门

1.jdbc的概念

  • JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系型数据库提供统一访问,它是由一组用Java语言编写的类和接口组成的。

2.jdbc的本质

  • 其实就是java官方提供的一套规范(接口)。用于帮助开发人员快速实现不同关系型数据库的连接!

3.jdbc的快速入门程序

  1. 导入jar包
  2. 注册驱动
Class.forName("com.mysql.jdbc.Driver");
  1. 获取连接
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/db2", "root", "root");
  1. 获取执行者对象
Statement stat = con.createStatement();
  1. 执行sql语句,并接收返回结果
String sql = "SELECT * FROM user";
ResultSet rs = stat.executeQuery(sql);
  1. 处理结果
while(rs.next()) {
    System.out.println(rs.getInt("id") + "\t" + rs.getString("name"));
}
  1. 释放资源
con.close();
stat.close();
rs.close();

二、JDBC各个功能类详解

1.DriverManager

  • DriverManager:驱动管理对象
  • 注册驱动(告诉程序该使用哪一个数据库驱动)
  • static void registerDriver(Driver driver):注册与给定的驱动程序 DriverManager
  • 写代码使用:Class.forName(“com.mysql.jdbc.Driver”);
  • 通过查看源码发现:在com.mysql.jdbc.Driver类中存在静态代码块
static {
  try {
    java.sql.DriverManager.registerDriver(new Driver());
  } catch (SQLException E) {
    throw new RuntimeException("Can't register driver!");
  }
}
  • 注意:mysql5之后的驱动jar包可以省略注册驱动的步骤。在jar包中,存在一个java.sql.Driver配置文件,文件中指定了com.mysql.jdbc.Driver
  • 获取数据库连接(获取到数据库的连接并返回连接对象)
  • static Connection getConnection(String url, String user, String password);
  • 返回值:Connection数据库连接对象
  • 参数
  • url:指定连接的路径。语法:jdbc:mysql://ip地址(域名):端口号/数据库名称
  • user:用户名
  • password:密码

2.Connection

  • Connection:数据库连接对象
  • 获取执行者对象
  • 获取普通执行者对象:Statement createStatement();
  • 获取预编译执行者对象:PreparedStatement prepareStatement(String sql);
  • 管理事务
  • 开启事务:setAutoCommit(boolean autoCommit); 参数为false,则开启事务。
  • 提交事务:commit();
  • 回滚事务:rollback();
  • 释放资源
  • 立即将数据库连接对象释放:void close();

3.Statement

  • Statement:执行sql语句的对象
  • 执行DML语句:int executeUpdate(String sql);
  • 返回值int:返回影响的行数。
  • 参数sql:可以执行insert、update、delete语句。
  • 执行DQL语句:ResultSet executeQuery(String sql);
  • 返回值ResultSet:封装查询的结果。
  • 参数sql:可以执行select语句。
  • 释放资源
  • 立即将执行者对象释放:void close();

4.ResultSet

  • ResultSet:结果集对象
  • 判断结果集中是否还有数据:boolean next();
  • 有数据返回true,并将索引向下移动一行
  • 没有数据返回false
  • 获取结果集中的数据:XXX getXxx(“列名”);
  • XXX代表数据类型(要获取某列数据,这一列的数据类型)
  • 例如:String getString(“name”); int getInt(“age”);
  • 释放资源
  • 立即将结果集对象释放:void close();
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
SQL Java 关系型数据库
|
6月前
|
Java 关系型数据库 MySQL
JDBC是真的啰里啰嗦啊-但是很重要!(上)
JDBC是真的啰里啰嗦啊-但是很重要!
42 1
|
6月前
|
SQL Java 数据库连接
JDBC是真的啰里啰嗦啊-但是很重要!(下)
JDBC是真的啰里啰嗦啊-但是很重要!
30 1
|
XML 存储 Java
什么是jdbc?为什么要用jdbc
什么是jdbc?为什么要用jdbc
|
缓存 druid Java
JDBC2.0
JDBC2.0在1.0版本java.sql.*上增加了一个扩展包javax.sql.*包,这个包里面包含两个接口: 1.DataSource,数据源。 2.ConnectionPoolDataSource,数据池。 DataSource的源码可以看到,这个接口的作用就是拿来获取connection连接的。 各个数据库厂商只负责实现connection, 至于获取connection,在JDBC1.0里面是由DriverManager来负责的。 JDBC2.0版本之所新增DataSource,原因很简单——数据库连接池。1.0版本时每用一次connection都需要重新new,而da
131 0
JDBC2.0
|
SQL 人工智能 数据可视化
JDBC的“那些事“之应当注意的问题(上)
JDBC的“那些事“之应当注意的问题(上)
|
SQL 缓存 关系型数据库
JDBC的“那些事“之应当注意的问题(下)
JDBC的“那些事“之应当注意的问题(下)
|
Java 数据库连接 测试技术
|
SQL druid Java
|
SQL druid Java
jdbc
全称:Java DataBase Connectivity, 意思就是 java连接数据库用到的,用来操作不同数据库的。
133 0