2022.7.11

DriverManager

  1. 注册驱动

  2. 获取数据库连接

如果连接的是本机MySQL服务器,并且MySQL服务默认端口是3306,则url可以简写为: jdbc:mysql:///db1

可以配置useSSL=false 参数,禁用安全连接方式,解决警告提示

jdbc:mysql:///db1?useSSL=false

如果还要加其他参数,可以在后面用&符号连接参数

Connection

1.获取执行SQL的对象

  1. Statement createStatement() 普通执行SQL对象

  2. PreparedStatement preparedStatement(sql) 预编译SQL的执行SQL对象:防止SQL注入

  3. CallableStatement prepareCall(sql) 执行存储过程中的对象

2.事务管理

  1. MYSQL事务管理

    • 开启事务:BEGIN;/START TRANSACTION;

    • 提交事务:COMMIT;

    • 回滚事务:ROLLBACK;

    MYSQL默认自动提交事务

  2. JDBC事务管理:Connection接口中定义3个对应的方法

    • 开启事务:setAutoCommit(boolean autoCommit): true为自动提交事务;false为手动提交事务,即为开启事务

    • 提交事务:commit()

    • 回滚事务:rollback()

String url="jdbc:mysql:///db1?useSSL=false";
String username="root";
String password="dir99";
Connection conn=DriverManager.getConnection(url,username,password);
//定义SQL
String sql="update account set money=2000 where id=1";
try{
    conn.setAutoCommit(false);//开启事务
    //执行SQL
    int count1=stmt.executeUpdate(sql);//受影响行数
    //处理结果
    System.out.println(count1);
    int i=1/0;//    出现异常
    //提交事务
    conn.commit();
}catch(Exception throwables){
    //回滚事务
    conn.rollback();
    throwables.printStackTrace();
}

所以假设一开始是money的值是1000,之后由于出现异常,事务处理回滚,money的值还是1000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值