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);
 

jdbc学习总结的更多相关文章

  1. JDBC学习笔记(2)——Statement和ResultSet

    Statement执行更新操作 Statement:Statement 是 Java 执行数据库操作的一个重要方法,用于在已经建立数据库连接的基础上,向数据库发送要执行的SQL语句.Statement ...

  2. JDBC学习笔记(1)——JDBC概述

    JDBC JDBC API是一个Java API,可以访问任何类型表列数据,特别是存储在关系数据库中的数据.JDBC代表Java数据库连接. JDBC库中所包含的API任务通常与数据库使用: 连接到数 ...

  3. 【转】JDBC学习笔记(2)——Statement和ResultSet

    转自:http://www.cnblogs.com/ysw-go/ Statement执行更新操作 Statement:Statement 是 Java 执行数据库操作的一个重要方法,用于在已经建立数 ...

  4. 【转】JDBC学习笔记(1)——JDBC概述

    转自:http://www.cnblogs.com/ysw-go/ JDBC JDBC API是一个Java API,可以访问任何类型表列数据,特别是存储在关系数据库中的数据.JDBC代表Java数据 ...

  5. JDBC 学习笔记(十一)—— JDBC 的事务支持

    1. 事务 在关系型数据库中,有一个很重要的概念,叫做事务(Transaction).它具有 ACID 四个特性: A(Atomicity):原子性,一个事务是一个不可分割的工作单位,事务中包括的诸操 ...

  6. JDBC 学习笔记(十)—— 使用 JDBC 搭建一个简易的 ORM 框架

    1. 数据映射 当我们获取到 ResultSet 之后,显然这个不是我们想要的数据结构. 数据库中的每一个表,在 Java 代码中,一定会有一个类与之对应,例如: package com.gerrar ...

  7. JDBC 学习笔记(六)—— PreparedStatement

    1. 引入 PreparedStatement PreparedStatement 通过 Connection.createPreparedStatement(String sql) 方法创建,主要用 ...

  8. JDBC学习笔记二

    JDBC学习笔记二 4.execute()方法执行SQL语句 execute几乎可以执行任何SQL语句,当execute执行过SQL语句之后会返回一个布尔类型的值,代表是否返回了ResultSet对象 ...

  9. JDBC学习笔记一

    JDBC学习笔记一 JDBC全称 Java Database Connectivity,即数据库连接,它是一种可以执行SQL语句的Java API. ODBC全称 Open Database Conn ...

随机推荐

  1. cnpm install -S 与cnpm install -D (dependencies和devDependencies的区别)

    npm install takes 3 exclusive, optional flags which save or update the package version in your main ...

  2. css 弹性盒兼容性写法,直接复制粘贴

    看这个定义弹性布局盒子display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; disp ...

  3. ios和android的发展前景比较

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt164 一直都有很多人在讨论未来的IOS和android市场哪个前景更好,现在 ...

  4. oracle锁表问题解决方法

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp52 Oracle数据库操作中,我们有时会用到锁表查询以及解锁和kill进程 ...

  5. my new start

    my new start in blog csdn : today i formally migrate my personal technical blog from sina to here in ...

  6. 获取windows任务栏高度的方法

    方法一: TRect rt; SystemParametersInfo(SPI_GETWORKAREA, , &rt, ); //任务栏在下面的高度 int y = ::GetSystemMe ...

  7. 转:【Java集合源码剖析】HashMap源码剖析

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/36034955   您好,我正在参加CSDN博文大赛,如果您喜欢我的文章,希望您能帮我投一票 ...

  8. 转:【深入Java虚拟机】之六:Java语法糖

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/18011009 语法糖(Syntactic Sugar),也称糖衣语法,是由英国计算机学家P ...

  9. 201521123017 《Java程序设计》第7周学习总结

    1. 本周学习总结 2. 书面作业 Q1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 1.2 解释E remove(int index)源代码 1.3 结合1. ...

  10. 201521123088《Java程序设计》第七周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图或其他)归纳总结集合相关内容. 2. 书面作业 ArrayList代码分析1.1 解释ArrayList的contains源代码源代码: //contain ...