• jdbc学习总结


    jdbc学习总结:
     
    一、简介:
      jdbc,直译为java连接数据库。实际为java为很好的操作数据库而提供的一套接口,接口的实现(即驱动)由各个数据库厂商提供。
     
    二、知识要点:
      连接5要素,3个知识点
     
    三、知识图谱:
      3.1.连接执行一条龙:
        注册——>连接——>获取session会话——>执行SQL——>返回结果集
      3.2.小知识:
          1.s p比较3方向:安全、效率、预编译
          2.批处理:添加、执行、清空
          3.自增长:
     
    四、详情:
    4.1.连接操作:
      //注册驱动
        Class.forName("Driver.class");
      //获取连接
        Connection conn = DriverManager.getConnection(url,username,password);
      //获取session会话:
        Statement stmt = conn.createStatement();
      //执行更新语句
        stmt.executeUpdate(sql);
      //执行查询操作,返回结果集
        ResultSet rs = stmt.executeQuery(sql);
      //获取预编译会话
        PreparedStatement pstmt = conn.preparedStatement(sql)
        pstmt.executeUpdate();
        pstmt.executeQuery();
     
    4.2 3个知识点:
     
      1.sp比较: PrepareStatement 执行预编译sql,
        安全性:防注入;
        效率高:oracle会用缓冲池
        会执行预编译
     
      2.批量:
        //加入批量
          pstmt.addBatch();
        //执行批量(等全部sql加入批量,再执行批量)
          pstmt.addBatch();
        //清空批量
          pstmt.clearBatch();
     
      3.自增长不会用,还是搁这吧:(估计是由于自己执行的那个表没有加序列的原因)
        //获取执行自增sql的预编译会话
          pstmt = conn.prepareStatement(sql,PreparedStatement.RETURN_GENERATED_KEYS);
        //执行sql
          pstmt.executeUpdate();
        // 获取执行自增sql后的自增长列
          ResultSet rs = pstmt.getGeneratedKeys();
        //获取自增长值:
          while(rs.next){
            rs.getInt(1);
          }
     
    五、零散总结
     
      1.导驱动包时,注意与数据库版本一致;
      2.这里没有涉及sql调优,以后再学;
      3.没有涉及连接池操作,以后在学;
      4.事务管理:conn.setAutoCommit(boolean);
     
  • 相关阅读:
    07.Linux-CentOS系统库文件libaudit.so.1丢失问题
    06.Linux-RedHat系统网卡服务连不上活跃连接路径变化
    05.Linux-CentOS系统普通用户SSH远程问题
    04.Linux-CentOS系统SSH连接问题
    03.Linux-CentOS系统user用户改密码问题
    解决pycharm问题:module 'pip' has no attribute 'main'
    Centos7搭建主从DNS服务器
    docker 启动镜像报 WARNING: IPv4 forwarding is disabled. Networking will not work.
    dockerfile文件命令详解
    Elasticsearch集群搭建笔记(elasticsearch-6.3.0)
  • 原文地址:https://www.cnblogs.com/doudou-taste/p/7654714.html
Copyright © 2020-2023  润新知