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()方法来检索
第七步:清理环境:关闭使用的数据库资源。
我们用代码简单的来实现数据库的连接 代码如下:
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的初步了解及使用的更多相关文章
- JDBC 编程初步
JDBC 概述 什么是JDBC 是一种用于执行SQL语句的Java API,它由一组用Java语言编写的类和接口组成,JDBC提供了一种操作数据的标准,JDBC的目标是使Java程序员使用JDBC可以 ...
- Jdbc Template初步了解
JdbcTemplate简介 Java语言提供了jdbc来访问数据库,在jdbc api中需要手动的获取和释放连接等资源,使用起来需要做许多重复的工作.Spring在jdbc api的基础上做了抽象和 ...
- 初步涉及JDBC
一.为什么要使用JDBC: 1.在之前的学习中,我们都是通过控制台来输入信息,创建对象,然后再输出信息,但是这样无法保存数据,每次程序运行都需要重新输入,很麻烦. 2. 在这样的情况下,我们就需要利用 ...
- JDBC 常用词汇以及初步思想
####JDBC程序访问数据库步骤
- JDBC初步 JDBC连接SQLServer 2008之心路历程
转自:http://www.cnblogs.com/weilengdeyu/archive/2013/01/17/2864321.html JDBC简介 今天,研究了下JDBC连接SQL Server ...
- JDBC初步(一)
import java.sql.*; public class TestJDBC { // orcl为oracle数据库中的数据库名,localhost表示连接本机的oracle数据库 // 1521 ...
- jdbc初步(转)
1. Jdbc的六个编程步骤 1. 注册一个驱动 注册驱动程序有三种方式: 方式一:Class.forName(“oracle.jdbc.driver.OracleDriver”); JAVA 规范中 ...
- JDBC初步
public class TestMySqlConnection{ public static void main(String[] args){ Class.forNa ...
- 浅谈JDBC编程
一.概述 1.为什么要用JDBC 数据库是程序不可或缺的一部分,每一个网站和服务器的建设都需要数据库.对于大多数应用程序员(此处不包含数据库开发人员)来说,我们更多的不是在DBMS中对数据库进行操纵, ...
随机推荐
- SAP增强 和VA01相关增强点介绍
-转 sap寻找用户出口方法 sap的用户出口总共有三代: 一.User EXIT 第一代的用户出口,它们include在SAP标准程序的源代码里,可以说他们是源代码的一部分,你改了这种出口就相当于改 ...
- join中级篇---------hash join & merge join & nested loop Join
嵌套循环连接(Nested Loop Join) 循环嵌套连接是最基本的连接,正如其名所示那样,需要进行循环嵌套,嵌套循环是三种方式中唯一支持不等式连接的方式,这种连接方式的过程可以简单的用下图展示: ...
- 20145239 杜文超 实验四 Android开发基础
20145239实验四 Android开发基础 实验内容 基于Android Studio开发简单的Android应用并部署测试 了解Android组件.布局管理器的使用 掌握Android中事件处理 ...
- 2048plus,可以直接分享到微信的2048
点击图片下载apk包!!
- Linux内核同步【转】
本文转载自:http://blog.csdn.net/a775992553/article/details/8797710 Linux设备驱动中必须解决的一个问题是多个进程对共享资源的并发访问,并发访 ...
- 部署nginx支持lua
nginx yum -y install gcc pcre pcre-devel openssl openssl-devel GeoIP GeoIP-devel lua lua-develwget ...
- Linux-DHCP服务器的搭建
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理.分配IP地址,使网络环境中的主机动态的获得I ...
- BZOJ 1601 [Usaco2008 Oct]灌水:最小生成树
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1601 题意: Farmer John已经决定把水灌到他的n(1<=n<=300 ...
- 15 个最佳的 jQuery 布局插件【转】
英文原文:15 Best jQuery Grid Plugins for Developers 现如今,网站开发设计的需求会要求自动适应所有移动设备,即响应式网站: 在开发网站时必须考虑对平板设备融合 ...
- ACM学习历程—HDU 1272 小希的迷宫(并查集)
Description 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走.但是她设计迷宫的思路不一样,首先她认为所有的通道都应该是双向连通的,就 ...