当前位置: 移动技术网 > IT编程>开发语言>Java > JDBC的初步了解及使用

JDBC的初步了解及使用

2019年05月19日  | 移动技术网IT编程  | 我要评论

沧州haobc.vip,中秋节国庆节祝福短信,纤纤玉手挼新蕊

一、概念

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对象的查询中检索数据。它作为一个迭代器,让你可以通过移动它的数据。

 

创建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()来获取结果就是结果集中的第二个记录了。

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网