一、概念

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()方法来检索

第七步:清理环境:关闭使用的数据库资源。

我们用代码简单的来实现数据库的连接 代码如下:

 package pkg1;
 import java.sql.*;
 import javax.sql.*;

 public class Test{

     //Driver类全名
     private static final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
     //jdbc协议:子协议://ip:端口号/
     private static final String URL = "jdbc:sqlserver://localhost:1433;databasename=";
     //数据库名
     private static final String DATABASE_NAME = "oa";
     //数据库用户名
     private static final String USER_NAME = "sa";
     //数据库密码
     private static final String PASSWORD = "123456";

     public static void main(String args[]){
         try{
             //加载驱动程序:它通过反射创建一个driver对象。
             Class.forName( DRIVER );
             //1.打开Miccorsoft SQL Server  Managerment Studio 并且连接
             Connection conn = DriverManager.getConnection( URL+DATABASE_NAME,USER_NAME,PASSWORD);
             //2.新建一个查询
             Statement stmt = conn.createStatement();
             //3.执行查询--->返回结果集
             ResultSet rs = stmt.executeQuery("select * from tt2");

                 int k = 0;
                 String g,d;
                 int count = 0;
                 while ( rs.next() ){
                     k = rs.getInt("id");
                     g = rs.getString("name");
                     d = rs.getString("sex");
                     System.out.println("编号:"+k+" "+"姓名:"+g+" "+"性别:"+d);
                     count++;    

                 }if(k==0){
                     System.out.println("查找正常,但没有记录");
                 }                

             //关闭Microsoft SQL Server  Managerment Studio连接
             rs.close();
             stmt.close();
             conn.close();

             System.out.println("连接的数据库是"+conn);
         }
         catch(ClassNotFoundException e){
             System.out.println("找不到驱动"+e.getMessage());
         }
         catch(Exception e){
             System.out.println("驱动已经加载成功,发生其他异常"+e.getMessage());
         }
     }
 }

结果:

我们现在在oa数据库里面建了一张tt2的数据库表,插上了数据

在对代码进行编译

可以看到已经把数据库里的内容读取出来了。

三、补充内容

1、JDBC结果集中为什么.next();?

将光标从当前位置向下移动一行。结果集光标最初位于第一行之前;对方法的第一次调用接着使第一行成为当前行;第二次调用使第二行成为当前行,依此类推。

如果当前行的输入流是打开的,那么对方法next的调用将隐式关闭它。读取新行时,ResultSet对象的警告链接清除。

至于返回值,如果新的当前行有效,则为true;如果没有更多行,则为false.

但是要特别注意,next()方法用一次,游标就往后移了一位,此时再使用next()来获取结果就是结果集中的第二个记录了。

JDBC的初步了解及使用的更多相关文章

  1. JDBC 编程初步

    JDBC 概述 什么是JDBC 是一种用于执行SQL语句的Java API,它由一组用Java语言编写的类和接口组成,JDBC提供了一种操作数据的标准,JDBC的目标是使Java程序员使用JDBC可以 ...

  2. Jdbc Template初步了解

    JdbcTemplate简介 Java语言提供了jdbc来访问数据库,在jdbc api中需要手动的获取和释放连接等资源,使用起来需要做许多重复的工作.Spring在jdbc api的基础上做了抽象和 ...

  3. 初步涉及JDBC

    一.为什么要使用JDBC: 1.在之前的学习中,我们都是通过控制台来输入信息,创建对象,然后再输出信息,但是这样无法保存数据,每次程序运行都需要重新输入,很麻烦. 2. 在这样的情况下,我们就需要利用 ...

  4. JDBC 常用词汇以及初步思想

    ####JDBC程序访问数据库步骤

  5. JDBC初步 JDBC连接SQLServer 2008之心路历程

    转自:http://www.cnblogs.com/weilengdeyu/archive/2013/01/17/2864321.html JDBC简介 今天,研究了下JDBC连接SQL Server ...

  6. JDBC初步(一)

    import java.sql.*; public class TestJDBC { // orcl为oracle数据库中的数据库名,localhost表示连接本机的oracle数据库 // 1521 ...

  7. jdbc初步(转)

    1. Jdbc的六个编程步骤 1. 注册一个驱动 注册驱动程序有三种方式: 方式一:Class.forName(“oracle.jdbc.driver.OracleDriver”); JAVA 规范中 ...

  8. JDBC初步

     public class TestMySqlConnection{  public static void main(String[] args){              Class.forNa ...

  9. 浅谈JDBC编程

    一.概述 1.为什么要用JDBC 数据库是程序不可或缺的一部分,每一个网站和服务器的建设都需要数据库.对于大多数应用程序员(此处不包含数据库开发人员)来说,我们更多的不是在DBMS中对数据库进行操纵, ...

随机推荐

  1. 【题解】 P1373 小a和uim之大逃离

    题解 P1373 小a和uim之大逃离 传送门 一道dp好题 乍看此题,感觉要这样设计: \(dp(x)(y)(mod_{a})(mod_{uim})(0/1)\) , 但是我上午考试就MLE了,赶紧 ...

  2. 关于JavaScript中prototype机制的理解

    最近几天一直在研究JavaScript中原型的机制,从开始的似懂非懂,到今天终于有所领悟.不敢说彻底理解,但是起码算知道怎么回事了. 为什么一开始似懂非懂 开始了解一遍原型机制后,感觉知其然但不知其所 ...

  3. Linux PPTP拨号

    试验环境:Linux marsboard 3.4.90 #9 SMP PREEMPT Thu Mar 3 18:28:43 CST 2016 armv7l armv7l armv7l GNU/Linu ...

  4. Java for LeetCode 083 Remove Duplicates from Sorted List

    Given a sorted linked list, delete all duplicates such that each element appear only once. For examp ...

  5. 使用vscode写typescript(node.js环境)起手式

    动机 一直想把typescript在服务端开发中用起来,主要原因有: javascript很灵活,但记忆力不好的话,的确会让你头疼,看着一月前自己写的代码,一脸茫然. 类型检查有利有敝,但在团队开发中 ...

  6. bootstrap.min.css.map

    问题:引入bootstrap..min.css的时候出现了URL:bootstrap.min.css.map 404的错误. 解决方法:将bootstrap.min.css里的最后一行/*# sour ...

  7. 五年java工作应具备的技能

    具有一到五年开发经验 需要学习内容很多 JVM/分布式/高并发/性能优化/Spring MVC/Spring Boot/Spring Cloud/MyBatis/Netty源码分析等等等 01.透彻理 ...

  8. babel-runtime 和 babel-polyfill

    Babel 默认只转换新的 JavaScript 语法 https://excaliburhan.com/post/babel-preset-and-plugins.html babel-plugin ...

  9. ICE 迁移64位安装问题

    昨天手贱,在apt-get install 后有一大堆,上百个安装包not upgrade, 发现有提示apt-get autoremove,犹豫了很久后还是忍不住执行了autoremove:这个命令 ...

  10. python 多模块文件共享变量

    Python import 包的机制是,import进来的和默认的系统的module了,都放在sys.module这个字典里面. 多个py文件再次import的时候,会先去sys.module里面检查 ...