一、操作JDBC的准备

1.拷贝MySQL的驱动包到项目中的lib目录下:mysql-connector-java-5.1.x-bin.jar
2.build path,告诉项目去哪里去找字节码文件。

操作JDBC的第一步,获取JDBC的连接对象:Connection.
步骤1: 加载注册驱动.
        Class.forName(“com.mysql.jdbc.Driver”);
        为什么说这行代码就在完成加载注册驱动的操作。
         1):把com.mysql.jdbc.Driver这份字节码文件加载进JVM。

2):把字节码加载进JVM之后,就会立刻执行该类的静态代码块。

步骤2: 获取连接对象,通过DriverManager的静态方法(getConnection).
         Connection conn =  DriverManager.getConnection (String url,String username,String password);
         参数:
              url             : jdbc:mysql://数据库服务器安装电脑的主机IP:端口/哪一个数据库名称
                               连接本机:  jdbc:mysql://localhost:3306/test
                               如果连接的数据库服务器在本机,并且端口是3306,则可以简写:
                                               jdbc:mysql:///test
              username: 所连接数据库服务器的用户账号(root)
              password: 所连接数据库服务器的用户密码(admin)
验证已经获取连接:可以在MySQL控制台,使用命令:show processlist; 查看MySQL运行进程,也可以在JAVA中输出连接对象查看。
-----------------------------------------------------------------------------------------------------
从Java6(JDBC4.0)开始,可以不再加载注册驱动,直接通过DriverManager获取连接对象。

为啥不再需要加载注册驱动了?
  从Java6开始,规范要求每一个JDBC驱动的包,都必须带有META-INF/services/java.sql.Driver文件。

开发建议:依然还是建议手动的加载注册驱动.  如此,可以兼容之前的JDK版本,在JavaWeb中必须手动加载。

二、JDBC相关的API

1.操作JDBC的步骤(贾琏欲执事):
----------------------------------
    1):加载注册驱动.
    2):获取连接对象.
    3):创建/获取语句对象
    4):执行SQL语句
    5):释放资源


2.Connection接口的常用方法

Statement createStatement()  创建一个 Statement 对象来将 SQL 语句发送到数据库。
    PreparedStatement prepareStatement(String sql) :获取预编译语句对象。
       参数:sql,并不是一个静态SQL,而是带有占位符的SQL(?).
    void close():关闭连接对象


3.Statement接口的常用方法

用于执行静态 SQL (写死的SQL,可以执行运行的SQL)语句并返回它所生成结果的对象。
    int executeUpdate(String sql):可以执行DML(增删改)和DDL语句,如果是执行DDL什么都不返回,执行DML返回受影响的行数。
    ResultSet executeQuery(String sql) :执行给定的 DQL语句,该语句执行之后返回一个 ResultSet 对象。
    void close():关闭语句对象


4.PreparedStatement接口的常用方法

是Statement的子接口,表示预编译的 SQL 语句的对象,设置占位符参数(告诉SQL中的?到底表示哪一个值):

void  setXxx(int parameterIndex, Xxx value):  xxx表示数据类型,比如:String,int,Long等,parameterIndex:设置第几个占位符?(从1开始),value:需要设置的参数值。
    int executeUpdate():可以执行DML(增删改)和DDL语句,如果是执行DDL什么都不返回,执行DML返回受影响的行数.
    ResultSet executeQuery() :执行给定的 DQL语句,该语句执行之后返回一个 ResultSet 对象。
                注意:此时不需要传递SQL参数
    void close():关闭语句对象。


5.ResultSet接口的常用方法

表示数据库结果集的数据表,通常通过执行查询数据库的语句生成.
   ResultSet 对象具有指向其当前数据行的光标。最初,光标被置于第一行之前。next 方法将光标移动到下一行;因为该方法在 ResultSet 对象没有下一行时返回 false,所以可以在 while 循环中使用它来迭代结果集。(类似迭代器操作)
-------------------------------------------------------------------------------------
  boolean  next(): 先判断光标是否能向下移动,如果可以,则往下移动。
  xxx:表示数据类型,比如:int,long,String等,根据当前列的数据类型来选择。
  xxx  getXxx(int columnIndex) :  获取当前光标行的第N列的数据,从1开始计算。
  xxx  getXxx(String columnName) :获取当前光标行的指定列名的列的数据,推荐。
  void  close():关闭结果集对象

JDBC学习(二、操作JDBC步骤,及相关API)相关推荐

  1. JDBC学习笔记之JDBC简介

    1. 引言 JDBC API是一种Java API,可以访问任何类型的表格数据,特别是存储在关系数据库中的数据. JDBC可以帮助我们编写下列三种编程活动的java应用程序: 1.连接到数据源,如数据 ...

  2. (Spring程序开发)简介程序开发步骤配置文件相关API

    1Spring简介 1.1 Spring是什么 Spring是分层的Java SE/EE应用full-stack 轻量级开源框架, 以IoC(Inverse Of Control:反转控制) 和**A ...

  3. 学习笔记——经纬度坐标系及定位相关API

    一.经纬度坐标系 WGS84坐标系:即地球坐标系,国际上通用的坐标系. GCJ02坐标系:即火星坐标系,WGS84坐标系经加密后的坐标系. BD09坐标系:即百度坐标系,GCJ02坐标系经加密后的坐标 ...

  4. linux 进程(二) --- 进程的创建及相关api

    一.进程的创建fork()函数 由fork创建的新进程被称为子进程(child process).该函数被调用一次,但返回两次.两次返回的区别是子进程的返回值是0,而父进程的返回值则是 新子进程的进程 ...

  5. 小汤学编程之JDBC(一)——JDBC概述和快速入门

    一.JDBC概述 1.概念     2.作用 二.JDBC快速入门 1.实现步骤     2.查询数据和操作数据     3.SQL注入     4.事务管理     5.Statement与Prep ...

  6. JDBC学习总结(二)JDBC操作Blob类型字段高效的批量插入JDBC处理数据库事务将多个SQL看成一个事务执行数据库连接池C3P0DBCPDruidDBUtils工具类实现CRUD

    JDBC学习总结(二)JDBC操作Blob类型字段/高效的批量插入/JDBC处理数据库事务/将多个SQL看成一个事务执行/数据库连接池C3P0/DBCP/Druid/DBUtils工具类实现CRUD ...

  7. Spring Boot操作数据库学习之整合JDBC

    文章目录 一 Spring Data简介 二 Spring Boot集成JDBC 2.1 项目创建步骤 2.2 测试的SQL脚本 2.3 编写yaml配置文件连接数据库 2.4 IDEA连接数据库步骤 ...

  8. JDBC及操作数据库步骤

    概念 JDBC-数据库连接,是由一些类和接口构成的API,是J2SE的一部分,有java.sql.javax.sql包组成.下面看一下JDBC API与应用程序和数据库驱动及数据库之间的关系: 可以看 ...

  9. JDBC 学习笔记 day02 用 PreparedStatement 实现 CRUD 操作

    JDBC 学习笔记 day02 PreparedStatement 相比于 Statement 的好处 PreparedStatement 实现 增,删,改 操作 PreparedStatement ...

  10. java resultset查询_Java -- JDBC 学习--通过 ResultSet 执行查询操作

    voidtestResultSet(){//获取 id=4 的 customers 数据表的记录, 并打印 Connection conn= null; Statement statement= nu ...

最新文章

  1. 2020年中国新基建产业报告(收藏)
  2. python中文意思k-Python中_,__,__xx__的区别
  3. Maven快速创建SpringMVC web(1)
  4. oracle分段分组函数,Oracle增强型分组函数
  5. android 音频设备类型,实现车载音频 HAL  |  Android 开源项目  |  Android Open Source Project...
  6. easyclick联众打码
  7. python 模拟鼠标键盘_如何用 python 模拟鼠标和键盘的操作
  8. 10种方式卸掉感情垃圾
  9. 山东新高考604分怎么报计算机专业,山东2017高考604分适合报考哪些211学校
  10. Ps制作食物网站展示
  11. 随机算法求pi、线性同余法求random、拉斯维加斯算法python
  12. 是不是每个软件测试人员都有一份跟我差不多的心酸历程?
  13. 语言模型(马尔可夫模型,n元语法)
  14. >>技术开发:轻量级BI工具Superset
  15. 计算机更换硬盘键盘鼠标不好使,电脑键盘和主板不兼容解决方法
  16. DOM JDOM DOM4J
  17. Android无障碍服务开发
  18. STM32—OLED显示屏
  19. 【IEEE出版】工业自动化,机器人与控制工程国际会议(IARCE 2022)
  20. 2022年全球与中国光通信芯片市场现状及未来发展趋势

热门文章

  1. JVM学习笔记 -- 从一段几乎所有人代码都会犯错的代码开始
  2. 笔记:MapReduce Design Patterns
  3. jQuery选择器--总结
  4. dotCMS学习记录--结构
  5. C语言程序设计 授课日历 2010年春季
  6. 用ASP.NET MVC自己管理自己的View:ASP.NET MVC File Management 【转】
  7. 河南计算机基础知识会考,2011河南事业单位备考计算机基础知识试题(含答案 )...
  8. 释放tcp连接的命令是_TCP协议详解
  9. 【视频】线性混合效应模型(LMM,Linear Mixed Models)和R语言实现案例
  10. 字符串s长度为偶数python_Python实现读取字符串按列分配后按行输出示例