jdbc的初步了解及使用(代码片段)

xym15079750872 xym15079750872     2022-12-11     466

关键词:

一、概念

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 = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
 9     //jdbc协议:子协议://ip:端口号/
10     private static final String URL = "jdbc:sqlserver://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(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() )
33                     k = rs.getInt("id");
34                     g = rs.getString("name");
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();
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()来获取结果就是结果集中的第二个记录了。

 

spring框架学习笔记---[在spring中初步上手使用注解开发;以及jdbc的初步使用](代码片段)

spring官网-->spring官网spring5.3.12–>spring-framework在线文档-->Spring5.3.12文章目录1.初步上手注解开发(1)首先试试xml进行配置的方式(2)快速上手注解开发过程2.其他的注解使用(1)==@Component(value="user")==;(2) 查看详情

istio的安装,流控初步了解(代码片段)

istio安装前提:kubernetes1.7.3及以上,并开启RBACkubernetes1.9以上,支持自动安装sidecarinjection环境要求:1、开启serviceaccount2、网络组件3、有dns下载源码包:cd/usr/local/src/wgethttps://github.com/istio/istio/releases/download/0.7.1/istio-0.7 查看详情

ansible安装及部分模块初步使用(代码片段)

Ansible安装及初步使用Ansible概述由于互联网的快速发展导致产品更新换代速度逐渐加快,运维人员每天都要进行大量的维护操作,仍旧按照传统的方式进行维护工作会使得工作效率低下。这时,部署自动化运维就可以尽可能安全... 查看详情

jenkins初步理解及参数化构建(代码片段)

jenkins构建和插件的初步理解就我目前了解到的,一个jenkins自动化部署,至少包含拉代码、编译和打包及运行单元测试、部署这几个步骤。拉代码指的是从代码托管服务器下载代码,编译和打包及运行单元测试,... 查看详情

初步了解云原生(代码片段)

初步了解云原生公有云:即公共的服务器或者公共资源。成本低:对服务付费无需维护:服务提供商进行服务器维护几乎无限制的缩放性:按需付费高可靠性:具备众多服务器私有云:自己购买硬件及搭建服务... 查看详情

初步了解redux(代码片段)

  redux作为react的状态状态管理工具,是十分重要的一部分,但是它在学习起来比较困难。它的写法一共分为三部分,而且他不像其他的东西一样可以写一步,在页面上查看一下。它必须三个部分全部完成之后,才能查看效果... 查看详情

linux基础-常见指令及权限理解(代码片段)

...用Linux命令了解Linux权限概念与思想,能深度理解“权限”初步了解Linux目录结构含义文章目录1.常见指令及权限理解1.linux系统及计算机背景2.使用XShell远程登录linux2.1XShell下的复制粘贴3.linux下的指令3.1pwd指令与whoami指令3.2ls指令3.3c... 查看详情

对js的初步认识及使用(代码片段)

大家好,我是刚刚学习前端的萌新程序员,上周学习了js并使用js写了一个项目,总结下在该项目中使用到js哪些方面的知识 上面是我制作的小游戏"打灰太狼",以下是我实现的整体思路首先我先进行了基本... 查看详情

jdbc应用简介及详解_项海涛(代码片段)

...;引言:1.JDBC的简介。2.JDBC中的简单应用。首先我们来了解一下什么是JDBC?1.JDBC是Java应用程序的接口,主要用于与关系型数据库的连接、与交互。2.JDBC是一组API的集合,其中有两个API,一部分是核心API,一... 查看详情

初步了解pe分析(代码片段)

尝试编写代码获取PE文件的信息。首先使用CreateFile打开一个PE文件并返回一个用于访问该对象的handle。HANDLECreateFile(LPCTSTRlpFileName,//pointertonameofthefileDWORDdwDesiredAccess,//access(read-write)modeDWORDdwShareMode,//sharemodeLPSECURITY_ATTRIBUTESlpSecurityAtt... 查看详情

初学者应该初步了解的变量与数据类型(代码片段)

变量变量的使用:         (1)声明变量:根据所存储的数据类型,为变量申请存储空间。              语法:数据类型 变量名doublemoney;intage;booleansex;floatscore;          (2)赋值:将... 查看详情

vue初步了解provide/inject(代码片段)

provider/inject:简单的来说就是在父组件中通过provider来提供变量,然后在子组件中通过inject来注入变量。需要注意的是 provide/inject这对选项需要一起使用,以允许一个祖先组件向其所有子孙后代注入一个依赖,不论组件层次有... 查看详情

java中jdbc的本质及使用详解(妹子看了都说好!!!)(代码片段)

文章目录前言一、JDBC概述二、JDBC本质三、关于JDBC与数据库驱动的关系,请参见下图:四、关于JDBC编程六步概述1.图解2.概述五、JDBC编程六步(代码演示)1.需要处理查询结果集的JDBC实例(执行的sql语句是为... 查看详情

爬虫初步了解(代码片段)

 一、爬虫的概念:口语版:也叫网络蜘蛛,它是批量下载网络资源的程序专业版:网络爬虫是伪装成客户端与服务端进行数据交互的程序二、爬虫的应用:1.数据采集例:收集数据,大数据2.搜索引擎例:百度,谷歌搜索引擎都属... 查看详情

react(初步了解)(代码片段)

1.什么是react?  1.1.React是一个用于构建用户界面的javacript库  1.2.React主要用于构建UI,很多人认为React是MVC中的V(视图)  1.3.React是拥有较高的性能,代码逻辑非常简单2.react特性?  2.1.声明式设计  2.2.高效 React通... 查看详情

初步了解vue源码(代码片段)

1、源码学习目录本项目所剖析的Vue.js源码版本是目前最新的版本,版本号为v2.6.11,其代码目录如下:  从上面的目录结构可以看出,Vue的整个项目包含了类型检测相关、单元测试相关、与平台无关的核心代码以及跨平台... 查看详情

sass学习笔记--初步了解函数运算条件判断及循环

函数sass定义了很多函数可供使用,当然你也可以自己定义函数,以@fuction开始。sass的官方函数链接为:sassfuction,实际项目中我们使用最多的应该是颜色函数,而颜色函数中又以lighten减淡和darken加深为最,其调用方法为lighten($co... 查看详情

socket初步了解(代码片段)

 在这之前我们先了解一下一些关于网络编程的概念  网络编程从大方面说就是对信息的发送和接收,中间传输为物理线路的作用,编程人员可以不用考虑  网络编程最主要的工作就是在发送端吧信息通过规定好的协议进行... 查看详情