JDBC基础实现

一、JDBC的第一次使用

1. 创建一个测试连接类

  1. 注册驱动(在导入相关mysql的jar包之后是可以省略的)

    Class.forName("com.mysql.jdbc.Driver");
    
  2. 读取连接

    • 正常连接

       String url="jdbc:mysql://192.168.110.175:3306/db1";
       String username="root";
       String password="****";
       Connection conn =  DriverManager.getConnection(url,username,password);
      
    • 连接本机数据库url可简写(采用的是默认端口号3306)

      String url="jdbc:mysql:///db1"; 
      
  3. 定义sql

     String sql= "UPDATE accout set money =2000 WHERE id=1";
    
  4. 获取执行sql的对象Statement

     String sql= "UPDATE accout set money =2000 WHERE id=1";
    
  5. 执行sql

    int count= stmt.executeUpdate(sql);//受影响的行数
    
  6. 处理结果

    System.out.println(count);
    
  7. 释放资源

    stmt.close();
    conn.close();
    

2. 遇到的代码报错

  1. Mon Oct 17 10:33:10 CST 2022 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
    

    解决办法:将url改成jdbc:mysql://192.168.31.16:3306/db1?useSSL=false

3.connection事务管理

3.1 事务管理的操作步骤

  1. 开启事务管理

    conn.setAutoCommit(false);
    
  2. 提交事务

    conn.commit();
    
  3. 回滚事务

    conn.rollback();
    

3.2 具体的事务管理应如何进行操作呢

  • 采用try、catch(ctrl+alt+t)

    选中执行的代码块

  • 将开启事务放在try的头部,将提交事务放在try的尾部,将回滚事务放在catch中

3.3 为什么要进行事务管理,什么又是事务管理

  • 事务是对一系列的数据库操作(比如插入多条数据)进行统一的提交或回滚操作,如果插入成功,那么一起成功,如果中间有一条出现异常,那么回滚之前的所有操作,这样可以防止出现脏数据,防止数据库数据出现问题。
  • JDBC中是通过Connection对象进行事务管理,默认是自动提交事务,可以手工将自动提交关闭,通过commit方法进行提交,rollback方法进行回滚,如果不提交,则数据不会真正的插入到数据库中。

3.4 ResultSet

  • 代码实现
ResultSet rs = stmt.executeQuery(sql);
    //6. 处理结果, 遍历rs中的所有数据
    /* // 6.1 光标向下移动一行,并且判断当前行是否有数据
        while (rs.next()){
            //6.2 获取数据  getXxx()
            int id = rs.getInt(1);
            String name = rs.getString(2);
            double money = rs.getDouble(3);

            System.out.println(id);
            System.out.println(name);
            System.out.println(money);

            System.out.println("--------------");

        }*/
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值