* 感谢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)的更多相关文章

  1. JDBC访问数据库的基本步骤是什么?

    1.加载(注册)数据库驱动(到JVM) 2.建立(获取)数据库连接. 3.创建(获取)数据库操作对象. 4.定义操作的SQL语句. 5.执行数据库操作. 6.获取并操作结果集. 7.关闭对象,回收数据 ...

  2. JDBC访问数据库的基本步骤

    加载驱动 通过DriverManager对象获取连接对象Connection 通过连接对象获取会话 通过会话进行数据的增删改查,封装对象 关闭资源

  3. java web中Jdbc访问数据库步骤通俗解释(吃饭),与MVC的通俗解释(做饭)

    一.Jdbc访问数据库步骤通俗解释(吃饭) 1)加载驱动 Class.forName(“com.microsoft.jdbc.sqlserver.SQLServer”); 2) 与数据库建立连接 Co ...

  4. Jdbc访问数据库篇

    一万年太久,只争朝夕 What JDBC 上部 JDBC(Java DataBase Connectivity)Java 数据库连接,主要提供编写 Java 数据库应用程序的 API 支持 java. ...

  5. 如何通过JDBC访问数据库

    Java数据库连接(JDBC)用与在Java程序中实现数据库操作功能,它提供了执行SQL语句.访问各种数据库的方法,并为各种不同的数据库提供统一的操作接口,java.sql包中包含了JDBC操作数据库 ...

  6. 2017.10.3 JDBC访问数据库的建立过程

    1·JDBC访问数据库,其访问流程: (1)注册驱动 (2)建立连接(Connection) (3)创建数据库操作对象用于执行SQL语句 (4)执行语句 (5)处理执行结果 (6)释放资源 2·注册驱 ...

  7. JDBC操作数据库的基本步骤:

    JDBC操作数据库的基本步骤: 1)加载(注册)数据库驱动(到JVM). 2)建立(获取)数据库连接. 3)创建(获取)数据库操作对象. 4)定义操作的SQL语句. 5)执行数据库操作. 6)获取并操 ...

  8. JDBC API访问数据库的基本步骤。

    JDBC本质:官方定义了一套操作所有关系型数据库的规则(接口),各个数据库厂商实现这个接口,提供数据库驱动jar包. 我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类. 任 ...

  9. Spring实战6:利用Spring和JDBC访问数据库

    主要内容 定义Spring的数据访问支持 配置数据库资源 使用Spring提供的JDBC模板 写在前面:经过上一篇文章的学习,我们掌握了如何写web应用的控制器层,不过由于只定义了SpitterRep ...

随机推荐

  1. iOS滤镜系列-滤镜开发概览

    概述 滤镜最早的出现应该是应用在相机镜头前实现自然光过滤和调色的镜片,然而在软件开发中更多的指的是软件滤镜,是对镜头滤镜的模拟实现.当然这种方式更加方便快捷,缺点自然就是无法还原拍摄时的真实场景,例如 ...

  2. js 极简获取表单 元素 !

    let s =[]; $.each($('#formSearch input'),(m,n)=>{s.push(n)}); //示例获取表单所有 input 下滑线分割的 name 集合.set ...

  3. invalid expression: missing ) after argument list in xxx 或者 console.error(("[Vue warn]: " + msg + trace));

    效果图:   此处错误原因   中文输入法的 逗号 导致    :   解决方案: 改为 英文输入法的 逗号

  4. 基于iTextSharp的PDF操作(PDF打印,PDF下载)

    基于iTextSharp的PDF操作(PDF打印,PDF下载) 准备 1. iTextSharp的简介 iTextSharp是一个移植于java平台的iText项目,被封装成c#的组件来用于C#生成P ...

  5. ORM 效率补充

    1.only  defer only: 获取数据表中某列或多列的值,注意获取的是对象,如果查询字段不是括号内的,效率反而变低 defer: 获取除了某列或某几列的数据,注意获取的是对象 User.ob ...

  6. 9.JavaSE之运算符

    Java语言支持如下运算符operator:优先级() 算数运算符 :+ ,- ,* ,/ ,% ,++ ,-- 赋值运算符 := 关系运算符 :> ,< ,>= ,<= ,= ...

  7. C#图片采集软件 自动翻页 自动分类(收集美图必备工具)(一)

    网站管理员希望将别人的整站数据下载到自己的网站里或者将别人网站的一些内容保存到自己的服务器上.从内容中抽取相关的字段,发布到自己的网站系统中.有时需要将网页相关的文件也保存到本地,如图片.附件等. 图 ...

  8. 发现 一个业务管理系统 解决了 orm 和 前端框架 剩下的 是 业务逻辑 了 。 哈

    解决了 orm 和 前端框架 剩下的 是 业务逻辑 了 . 哈 还有 各种 aop 组件 呢 . 大家 high 来 准备 用 fluent data  和 mysql 写一个 wcf 的 接口呢. ...

  9. 爬虫之协程,selenium

    1.什么是代理?代理和爬虫之间的关联是什么? 2.在requests的get和post方法常用的参数有哪些?分别有什么作用?(四个参数) - url headers parmas/data proxi ...

  10. 尼姆博弈+SG函数

    博弈这个东西真的很费脑诶.. 尼姆博奕(Nim Game):游戏者轮流从一堆棋子(或者任何道具)中取走一个或者多个,最后不能再取的就是输家.当指定相应数量时,一堆这样的棋子称作一个尼姆堆 当n堆棋子的 ...