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. SessionStateMode之Redis共享session

    周六的时候用SQL Server来实现session共享,今天下班早就试了下使用Redis来实现session共享.接着上一篇博客,上一篇使用sessionState节点mode="SQLS ...

  2. C++中关于重载默认构造函数与默认全部参数的构造函数的使用注意

    # include<iostream>using namespace std;class Time{public:                            //公用成员函数  ...

  3. Java double和 float丢失精度问题

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt357 由于对float或double 的使用不当,可能会出现精度丢失的问题. ...

  4. 解决Android Studio中Refreshing gradle project时间过长的最简单方法

    Refreshing gradle project往往出现在Gradle出现更新,需要从墙外的网重新拖下来的前提下.具体可以查看以下文件:/path/to/project/gradle/wrapper ...

  5. Java web servers 间是如何实现 session 同步的

     Java web servers 间是如何实现 session 同步的 有一个多月的时间没有更新博客了,今天终于忙里偷闲,可以把近期的收获总结一下. 本文是关于Java web servers 之间 ...

  6. alert执行顺序

    <p><span id="span1">Hello World!</span></p> <script type=" ...

  7. Java课程设计--GUI密码生成器201521123033

    1.团队课程设计题目 基于GUI的密码生成器 团队博客链接 2.个人负责模块 (1)界面设计 (2)部分错误输入的提示 (3)一键复制密码功能的实现 3.个人代码的提交记录截图 4.个人代码展示以及代 ...

  8. 201521123011 《Java程序设计》第13周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 协议.IP.域名.端口: 常用应用层协议:http, ftp 域名(通过域名可以找到IP)用ping测试 ...

  9. 201521123027 <java程序设计>第11周学习总结

    1.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2.书面作业 1.互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) 1.1 除了使用synchro ...

  10. Linux系统下用户与组的管理

    Linux系统下用户与组的管理 一.用户及组基本概述 Linux 系统上,用户管理是基于用户名和密码的方式进行资源的分配. 1.uid(用户身份标识) (1)root用户 uid为0 (2)普通用户: ...