JDBC访问数据库的具体步骤(MySql + Oracle + SQLServer)
* 感谢DT课堂颜群老师的视频讲解(讲的十分仔细,文末有视频链接)
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
/*
1、JDBC访问数据库的具体步骤:
a、导入驱动,加载具体的驱动类
b、与数据库建立连接
c、发送Sql,执行
d、处理结果集
2、API(接口、方法、类) 主要功能:
a、与数据库建立连接
b、发送Sql语句1
c、返回处理结果
3、API的几个操作:
a、DriverManager: 管理JDBC驱动
b、Connection : 连接
c、Statement : 运行 Sql 语句(增删改查)
d、CallableStatement : 调用数据库中的存储过程 / 存储函数
e、Result : 返回结果集
*/
public class JDBPMySqlDemo {
/* 这些值一般都是不轻易改变的,所以设置为常量
不同的数据库对应的连接字符串不同,(形式不同,内容类似-------哪种类型的数据库、IP地址、端口号、数据库名)
Oracle : jdbc:oracle:thin:@localhost:1521:数据库实例名 (你创建的数据库的名字)
MySql : jdbc:mysql://localhost:3306/数据库实例名
SQLServer : jdbc:microsoft:sqlserver:localhost:1433;databasename = 数据库实例名
*/
private static final String URL = "jdbc:mysql://localhost:3306/testdate";
private static final String USER = "root";
private static final String PWD = "root";
public static void update() { // 静态方法要求其内部用到的变量也应该是静态的(所以上述变量也应该设置为静态变量)
// 因为要进行两次异常处理,所以需要将变量设置成相对于 try..catch..语句的外部变量
Statement stam = null; // 会抛出SQLException异常
Connection connection = null; // 会抛出ClassNotFoundException异常
try {
/*
驱动在每个数据库各自对应的 jar包中,所以需要先把各个数据库对应的包进行导入
驱 动jar:(可以在这个链接中进行查找:https://mvnrepository.com/)
Oracle:ojdbc-x.jar
MySql:mysql-connector-java-x.jar
SqlServer:sqljdbc-x.jar
导入驱动(不同的数据库对应的驱动不同)
Oracle : oracle.jdbc.OracleDriver
MySql : com.mysql.jdbc.Driver
SqlServer : com.mircrosoft.sqlserver.jdbc.SQLServerDriver
*/
// 导入驱动(加载具体的驱动类)
Class.forName("com.mysql.jdbc.Driver");
// 连接(通过DriverManager.getConnection(连接字符串,用户名,密码))方法进行连接
connection = DriverManager.getConnection(URL, USER, PWD);
// 运行SQL语句(想要运行SQL语句要先创建一个Statement对象,用这个实例对象进行操作)
stam = connection.createStatement();
// 将sql语句作为字符串进行执行
// String sql = "delete from student where stuno = 2";
String sql = "insert into student values(2,'zs',12,'s3')";
// 通过stam的方法进行执行SQL语句进行更新数据库(返回值是影响的行数 (int) )
int count = stam.executeUpdate(sql);
if (count > 0) {
System.out.println("操作成功!");
}
} catch (ClassNotFoundException e) { // 出现异常时最好一个一个处理(更加安全)
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally { // 无论操作成功与否,我们都要进行关闭操作(放在Finally必定对执行)
try {
// 如果还没有执行到给 stam 变量赋值就已经异常处理了,那么stam还是 null,就会null.close(),从而出现空指针的问题
if(stam != null) stam.close(); // 避免出现空指针
if(connection != null)connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
// 将update() 设置为静态方法,便于调用
update();
}
}
如果写的不太清晰,或者有问题,可以留言,本人会认真回答。
颜大佬的视频链接:https://www.bilibili.com/video/av29086718?p=13
JDBC访问数据库的具体步骤(MySql + Oracle + SQLServer)的更多相关文章
- JDBC访问数据库的基本步骤是什么?
1.加载(注册)数据库驱动(到JVM) 2.建立(获取)数据库连接. 3.创建(获取)数据库操作对象. 4.定义操作的SQL语句. 5.执行数据库操作. 6.获取并操作结果集. 7.关闭对象,回收数据 ...
- JDBC访问数据库的基本步骤
加载驱动 通过DriverManager对象获取连接对象Connection 通过连接对象获取会话 通过会话进行数据的增删改查,封装对象 关闭资源
- java web中Jdbc访问数据库步骤通俗解释(吃饭),与MVC的通俗解释(做饭)
一.Jdbc访问数据库步骤通俗解释(吃饭) 1)加载驱动 Class.forName(“com.microsoft.jdbc.sqlserver.SQLServer”); 2) 与数据库建立连接 Co ...
- Jdbc访问数据库篇
一万年太久,只争朝夕 What JDBC 上部 JDBC(Java DataBase Connectivity)Java 数据库连接,主要提供编写 Java 数据库应用程序的 API 支持 java. ...
- 如何通过JDBC访问数据库
Java数据库连接(JDBC)用与在Java程序中实现数据库操作功能,它提供了执行SQL语句.访问各种数据库的方法,并为各种不同的数据库提供统一的操作接口,java.sql包中包含了JDBC操作数据库 ...
- 2017.10.3 JDBC访问数据库的建立过程
1·JDBC访问数据库,其访问流程: (1)注册驱动 (2)建立连接(Connection) (3)创建数据库操作对象用于执行SQL语句 (4)执行语句 (5)处理执行结果 (6)释放资源 2·注册驱 ...
- JDBC操作数据库的基本步骤:
JDBC操作数据库的基本步骤: 1)加载(注册)数据库驱动(到JVM). 2)建立(获取)数据库连接. 3)创建(获取)数据库操作对象. 4)定义操作的SQL语句. 5)执行数据库操作. 6)获取并操 ...
- JDBC API访问数据库的基本步骤。
JDBC本质:官方定义了一套操作所有关系型数据库的规则(接口),各个数据库厂商实现这个接口,提供数据库驱动jar包. 我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类. 任 ...
- Spring实战6:利用Spring和JDBC访问数据库
主要内容 定义Spring的数据访问支持 配置数据库资源 使用Spring提供的JDBC模板 写在前面:经过上一篇文章的学习,我们掌握了如何写web应用的控制器层,不过由于只定义了SpitterRep ...
随机推荐
- 51nod 1086背包问题V2 (完全背包模板题)
1086 背包问题 V2 1 秒 131,072 KB 20 分 3 级题 题目描述 有N种物品,每种物品的数量为C1,C2......Cn.从中任选若干件放在容量为W的背包里,每种物品的体积为W1, ...
- 【记】本地远程连接VM VirtualBox中虚拟机Centos6的数据库MySQL
目标:远程连接虚拟机中的MySQL 效果图如下 1. VBox设置好端口转发 具体步骤请看 VM VirtualBox 网络地址转换(NAT)使用详解 2. MySQL授权 如果这时我们就去远程连接M ...
- k8s~为服务添加ingress的实现
为服务添加ingress的实现 1 当我们为指定的项目添加ingress支持之后,它会在“负载均衡”标签页出现,并显示出你的域名解析到的服务. 2 我们的ingress是支持https的,所以需要为你 ...
- net 自带cache
using System.Web.Caching; Cache cache = new Cache();
- CocoaPods中的头文件import导入时不能自动补齐的解决方法
1.选择target(就是左边你的工程target)-->BuildSettings-->search Paths下的User Header Search Paths 2.添加“$(POD ...
- 10、python函数
前言:本文主要介绍python函数的定义和调用.函数的参数.函数的作用域.内置函数. 一.函数的定义和调用 1.函数的作用 对特定的一些功能进行封装,提高代码的重用率,进而提升开发的效率,格式: de ...
- 生成URL(而不是链接) Generating URLs (and Not Links) | 在视图中生成输出URL |高级路由特性 | 精通ASP-NET-MVC-5-弗瑞曼
结果呢:
- 数据结构与算法 --- js描述栈
js描述栈及栈的使用 栈的特性就是只能通过一端访问,这一段就是叫做栈顶.咖啡馆内的一摞盘子就是最形象的栈的例子: 根据栈的特性,就可以定义栈的一些特殊属性和方法;用js的描述栈的时候底层数据结构用的是 ...
- TypeScript——基本类型
关于数据类型 原始类型 let bool: boolean = true; let num: number = 1; let str: string = 'i am string'; 引用类型 let ...
- SpringCloud与微服务Ⅴ --- Eureka服务注册与发现
一.Eureka是什么 Eureka是Netflix的一个子模块,也是核心模块之一.Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移.服务注册与发现对于微服务架构 ...