当前位置:网站首页>JDBC的API解析
JDBC的API解析
2022-07-25 08:51:00 【华为云】
一、DriverManager
DriverManager(驱动管理类)作用:
1、注册驱动
2、获取数据库连接
1、注册驱动:
注册驱动的书写方法,表面上没有使用 DriverManager类,选中Driver,ctrl+b看源码可知
它使用了 DriverManager.registerDriver()的方法
在MySQL5之后的驱动包,可以省略注册驱动的步骤
自动加载jar包中的META-INF/services/java.sql.Driver文件的驱动类
2、获取连接
static Connection getConnection(String url,String user,String password)
参数
1、url:连接路径
语法:jdbc:mysql://ip地址(域名):端口号/数据库名称?参数键值对1&参数键值对2....
举例:jdbc:mysql://127.0.0.1:3306/db1(本机127.0.0.1,本机域名:localhost)
细节: 如果连接的是本机mysql服务器,并且mysql默认端口号是3306 ,则url可以简写为:jdbc:mysql://数据库名称?参数键值对如:jdbc:mysql:///db1
配置userSSL=false参数,禁用安全连接方式,解决警告提示
2、user:用户名
3、password:密码
解决警告提示:
?userSSL=false
二、Connection
Connection(数据库连接对象)作用:
1、获取执行SQL的对象
2、管理事务
1、获取执sql对象
- 普通执行SQL对象
Statement createStatement()
- 预编译SQL的执行SQL对象:防止SQL注入
PrepareStatement prepareStatement(sql)
- 执行存储过程对象
CallableStatement prepareCall(sql)
2、事务管理
mysql事务管理
开启事务:BEGIN;/START TRANSACTION(start transaction)
提交事务:COMMIT;
回滚事务:ROLLBACK;
(MySQL默认自动提交事务)
JDBC事务管理:
Connection接口中定义了3个对应的方法
开启事务:setAutoCommit(boolean autoCommit);true为自动提交事务,false为手动提交事务(开启事务)
提交事务:commit()
回滚事务:rollback()
演示jdbc的事务
复制前面弄过的类到包下
运行之前数据库emp表:
运行结果:
运行之后数据库emp表:
try之中的发生了异常 ,就会 被catch捕获,发生回滚,回滚到还没有开启事务之前,就是数据没有修改之前,若是没有用事务,就会导致可能一个成功一个失败,这是我们不愿意看到的。 启用了事务,用了回滚事务,可以保证多个事务要么同时成功,要么同时失败。
边栏推荐
- 这是我见过写得最烂的Controller层代码...
- 25位撤销博士学位
- Solving a random number problem
- 为什么要使用MQ消息中间件?这几个问题必须拿下!
- QA robot sequencing model
- How to do the game plug-in?
- 聊下自己转型测试开发的历程
- 51 MCU peripherals: buzzer
- Graduation project of wechat small program ordering system of small program completion works (7) Interim inspection report
- This week's big news | FCC exposed Pico 4 VR all-in-one machine, and leipeng's parent company established a smart glasses laboratory
猜你喜欢

51 MCU peripherals: Motor

Django4.0 + web + MySQL 5.7 realize simple login operation

Record the process of two multi terminal troubleshooting

Visual query (sp_helptext) -- quick query of stored procedures containing specified strings (with source code)

FreeMaker模板引擎

这家十年内容产业基建公司,竟是隐形的Web3先行者

js小游戏源码魔塔闯关下载

Graduation project of wechat small program ordering system of small program completion works (7) Interim inspection report

Django4.0 + Web + MySQL5.7 实现简单登录操作

The fifth day of MATLAB learning (cycle type)
随机推荐
How can hospitals achieve efficient and low-cost operation and maintenance? Is there any software that can meet it?
Fundamentals of C language
全网最简约的sklearn环境配置教程(百分百成功)
[graduation project] cinema booking management system based on micro Service Framework
Wechat reservation applet graduation design of applet completion works (1) development outline
51 MCU internal peripherals: serial port communication
Foundation 31: Selenium positioning dynamic ID element
NVIDIA可编程推理加速器TensorRT学习笔记(二)——实操
附加:下半部分sql语句 区/县(数据表)
Redis learning notes
51 MCU peripherals: buzzer
Robot jumping problem
Additional: in the lower division / county (data sheet)
@Principle of Autowired annotation
英特尔就产品延误向Xe HPG寻宝游戏获奖者道歉并公布奖品样貌
Network solutions for Alibaba cloud services
【万字长文】使用 LSM-Tree 思想基于.Net 6.0 C# 实现 KV 数据库(案例版)
【npm】 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
Wechat applet ordering system graduation design of applet completion works (8) graduation design thesis template
js触屏小游戏源码冰雪之旅



