什么是JDBC?「建议收藏」

2022-09-10 15:30:10 浏览数 (1)

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

  一、概念   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.cn/152231.html原文链接:https://javaforall.cn

0 人点赞