什么是JDBC?「建议收藏」

什么是JDBC?「建议收藏」  一、概念    1、什么是JDBC?    JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据    此可以构建更高级的工具和接口,使数据库开发者能够编写数据库的程序。简单地说,JDBC可做三件事:与…

大家好,又见面了,我是你们的朋友全栈君。

  一、概念
  
  1、什么是JDBC?
  
  JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据
  
  此可以构建更高级的工具和接口,使数据库开发者能够编写数据库的程序。简单地说,JDBC 可做三件事:与数据库建立连接、发送 操作数据库的语句并处理结果。
  
  2、JDBC有什么用呢?
  
  我们用JAVA就能连接到数据库;创建SQL或者MYSQL语句;执行SQL或MYSQL的查询数据库;查看和修改结果记录。
  
  二、连接常用的接口
  
  提供的接口包括:JAVA API:提供对JDBC的管理链接;JAVA Driver API:支持JDBC管理到驱动器连接。
  
  1、DriverManager :这个类管理数据库驱动程序的列表。内容是否符合从Java应用程序使用的通信子协议正确的数据
  
  库驱动程序的连接请求。识别JDBC在一定子协议的第一个驱动器被用来建立数据库连接。
  
  2、Driver :此接口处理与数据库服务器通信。很少直接与驱动程序对象。相反,使用DriverManager中的对象,它管理
  
  此类型的对象。它也抽象的与驱动程序对象工作相关的详细信息。
  
  3、Connection :此接口与接触数据库的所有方法。连接对象表示通信上下文,即,与数据库中的所有的通信是通过唯一的连接对象。
  
  4、Statement :可以使用这个接口创建的对象的SQL语句提交到数据库。一些派生的接口接受除执行存储过程的参数。
  
  5、ResultSet  :这些对象保存从数据库后,执行使用Statement对象的SQL查询中检索数据。它作为一个迭代器,让你可以通过移动它的数据。
  
  创建JDBC的七大步骤:
  
  第一步:导入工具包:
  
  import java.sql.*;
  
  import javax.sql.*;
  
  第二步:注册jdbc驱动程序
  
  第三步:Class.forName( ….);
  
  第四步:使用DriverManager.getConnection();方法来创建一个Connection对象,它代表一个物理连接的数据库。
  
  第五步:执行查询:使用一个对象类型Statement或PreparedStatement()构建,并提交一个SQL语句到数据库。
  
  第六步:从结果集中提取数据;这一步是必需的情况下,从数据库中获取数据。可以使用适当的ResultSet.getXXX()方法来检索
  
  第七步:清理环境:关闭使用的数据库资源。
  
  我们用代码简单的来实现数据库的连接 代码如下:
  
  复制代码
  
  1 package pkg1;
  
  2 import java.sql.*;
  
  3 import javax.sql.*;
  
  4
  
  5 public class Test{

  
  6
  
  7     //Driver类全名
  
  8     private static final String DRIVER =www.qlincheng.cn  “com.microsoft.sqlserver.jdbc.SQLServerDriver”;
  
  9     //jdbc协议:子协议://ip:端口号/
  
  10     private static final String URL = “jdbc:sqlserver:// www.shengrenyp.cn localhost:1433;databasename=”;
  
  11     //数据库名
  
  12     private static final String DATABASE_NAME = “oa”;
  
  13     //数据库用户名
  
  14     private static final String USER_NAME = “sa”;
  
  15     //数据库密码
  
  16     private static final String PASSWORD = “123456”;
  
  17
  
  18     public static void main(www.baichuangyul.com  String args[]){

  
  19         try{

  
  20             //加载驱动程序:它通过反射创建一个driver对象。
  
  21             Class.forName( DRIVER );
  
  22             //1.打开Miccorsoft SQL Server  Managerment Studio 并且连接
  
  23             Connection conn = DriverManager.getConnection( URL+DATABASE_NAME,USER_NAME,PASSWORD);
  
  24             //2.新建一个查询
  
  25             Statement stmt = conn.createStatement();
  
  26             //3.执行查询—>返回结果集
  
  27             ResultSet rs = stmt.executeQuery(“select * from tt2”);
  
  28
  
  29                 int k = 0;
  
  30                 String g,d;
  
  31                 int count = 0;
  
  32                 while ( rs.next www.baichuangyule.cn() ){

  
  33                     k = rs.getInt(“id”);
  
  34                     g = rs.getString(“name”www.chengmingyuLe.com);
  
  35                     d = rs.getString(“sex”);
  
  36                     System.out.println(“编号:”+k+” “+”姓名:”+g+” “+”性别:”+d);
  
  37                     count++;
  
  38
  
  39                 }if(k==0){

  
  40                     System.out.println(“查找正常,但没有记录”);
  
  41                 }
  
  42
  
  43             //关闭Microsoft SQL Server  Managerment Studio连接
  
  44             rs.close(www.mxdpt.cn);
  
  45             stmt.close();
  
  46             conn.close();
  
  47
  
  48
  
  49             System.out.println(“连接的数据库是”+conn);
  
  50         }
  
  51         catch(ClassNotFoundException e){

  
  52             System.out.println(“找不到驱动”+e.getMessage());
  
  53         }
  
  54         catch(Exception e){

  
  55             System.out.println(“驱动已经加载成功,发生其他异常”+e.getMessage());
  
  56         }
  
  57     }
  
  58 }
  
  复制代码
  
  结果:
  
  我们现在在oa数据库里面建了一张tt2的数据库表,插上了数据
  
  在对代码进行编译
  
  可以看到已经把数据库里的内容读取出来了。
  
  三、补充内容
  
  1、JDBC结果集中为什么.next();?
  
  将光标从当前位置向下移动一行。结果集光标最初位于第一行之前;对方法的第一次调用接着使第一行成为当前行;第二次调用使第二行成为当前行,依此类推。
  
  如果当前行的输入流是打开的,那么对方法next的调用将隐式关闭它。读取新行时,ResultSet对象的警告链接清除。
  
  至于返回值,如果新的当前行有效,则为true;如果没有更多行,则为false.
  
  但是要特别注意,next()方法用一次,游标就往后移了一位,此时再使用next()来获取结果就是结果集中的第二个记录了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152231.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • redis实现单点登录原理(spring ioc和aop原理及应用场合)

    单点登录功能分析请求的url:/user/login请求的方法:POST参数:username、password,表单提交的数据。可以使用方法的形参接收。返回值:json数据,包含一个token。业务逻辑:登录的业务流程:登录的处理流程:1、登录页面提交用户名密码。2、登录成功后生成token。Token相当于原来的sessionid,字符串,可以使用uuid。3、把

    2022年4月11日
    212
  • 腾讯云 上传视频_云点播系统源码

    腾讯云 上传视频_云点播系统源码 web利用腾讯云点播上传视频到云服务器第一步导入<scriptsrc="//imgcache.qq.com/open/qcloud/js/vod/sdk/ugcUploader.js"></script>第二步在服务端设置秘钥,我用的是javaee编写一个Signature类 所需jar包http://download.csdn.net/down…

    2025年7月4日
    0
  • 第四章 对象、变量和常量

    第四章 对象、变量和常量

    2021年9月12日
    57
  • Java strictfp[通俗易懂]

    Java strictfp[通俗易懂]Javastrictfp关键字的作用strictfp关键字可以应用于方法,类和接口。strictfp关键字的非法代码Javastrictfp关键字确保您将在每个平台上获得相同的结果,如果在浮点变量中执行操作。不同平台的精度可能不同,这就是为什么java编程语言提供了strictfp关键字,它用于在每个平台上获得相同的结果。所以,现在我们就可以更好的控制浮点数据类型运算了。strictf…

    2022年10月21日
    0
  • MySql数据库备份与恢复——使用mysqldump 导入与导出方法总结「建议收藏」

    MySql数据库备份与恢复——使用mysqldump 导入与导出方法总结「建议收藏」MySql数据库备份与恢复——使用mysqldump导入与导出方法总结mysqldump客户端可用来转储数据库或搜集数据库进行备份或将数据转移到另一个sql服务器(不一定是一个mysql服务器)。转储包含创建表和/或装载表的sql语句。ps、如果在服务器上进行备份,并且表均为myisam表,应考虑使用mysqlhotcopy,因为可以更快地进行备份和恢复。本文从三部分介绍了mys…

    2022年6月13日
    115
  • 锐龙cpu天梯图_cpu性能天梯排行图最新

    锐龙cpu天梯图_cpu性能天梯排行图最新近段时间,桌面CPU平台有了比较大的变化,AMD今年的Ryzen全面迎来逆袭,此外还拿出了最高16核的RyzenThreadripper顶级处理器。而为应对AMDRyzen的崛起,Intel近日也正式推出了八代CannonLake(10/14nm),不再挤牙膏,全线都带来了多核升级,性能激增,因而备受关注。而“电脑百事”此次CPU天梯图2017年9月版主要是在8月版的基础上,率先加入Inte…

    2022年9月17日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号