随笔 - 20  文章 - 57  trackbacks - 0
<2011年6月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

常用链接

留言簿(2)

随笔分类

随笔档案

文章分类

文章档案

51CTO

搜索

  •  

最新评论

阅读排行榜

评论排行榜

   

什么是JDBC

JDBC是由一组Java语言编写的类和接口组成,用来处理关系数据库!利用JDBC的API,可用Java语法去访问各种各样的SQL数据库。
个人认为:
把JDBC当做是一门连接Java程序连接数据库的技术不如把JDBC当做连接程序和数据库的桥梁。

以下我要写的例子是用纯Java的Driver来连接数据库的方式。连接的数据库是mysql。


JDBC编程步骤


       1.加载数据库驱动(jar文件)
            //需要下载一个数据库的jar包,并导入相应的JDBC项目中,创建路径!
            Class.forName("com.mysql.jdbc.Driver");
      
       2.获得数据库连接
            DriverManager.getConnection("jdbc:mysql://Database_IP:3306/DATABASE","DATAROOT","PASSWORD");//返回Connection————获得数据库连接
       
       3.创建语句
            String sql = "SQL_TORUNNING";
            向DATABASE发送一个执行语句
            Statement stmt = conn.createStatement();//创建一个 Statement 对象来将 SQL 语句发送到数据库.
                 Statement—————SQL_RUNNING!!!
      
       4.执行查询
            ResultSet rs = Statement.executeQuery(SQL_RUNNING);//执行SQL_RUNNING命令,返回ResultSet
            //如果执行的数据库语句不是对数据库中的内容进行修改的话,则用 Statement.executeQuery()
            //如果执行的数据库语句是修改数据库中的内容进行修改的话,则用 Statement.executeUpdate()
            //当然他们返回值的类型也不同!
                //根据命令的不同Statement的方法也不同
                  
                    创建一个表      
                    Statement.execute(create a table)
                   
                    增删改查Insert、update、delete...
                    Statement.executeUpdate()
                  
                    查询语句Select
                    Statement.executeQuery(Select);
                  
       5.遍历结果集
            while(ResultSet.next()){
                ResultSet.getInt(int);
                ResultSet.getString(int);
                ......
            }
       
       
       6.关闭数据库连接
               Connection.close();
     
      

步骤分析


(图一)


1.加载数据库驱动

        
         我们来看图一,工厂和几个农村之间有一条河,不能够直接进行沟通,工厂就相当于一个Java程序,而几个农村就相当于不同的数据库;
         工厂为B村生产一些材料,但是生产出来之后并不能直接交给B村,然后工厂的厂长就想在工厂和B村之间架设一座桥梁来运送生产出来的材料——我们大可把数据库驱动加载当做这个架设桥梁的想法。


         在程序中我们要怎么做呢?   
         在加载数据库驱动的时候,必须要将相应的mysql-connector-java-5.0.4-bin.jar包,然后将jar包导入相应的项目中如下图
        
         在mysql-connector-java-5.0.4-bin.jar右击建立路径,就相当于import的过程——我不确定这么说对不对,但我是这么理解的。
         建立路径后,你的项目将出现一个新的文件,如下图
        
         这样的话,你就可以顺利加载数据库驱动,否则当你在运行的时候会出现找不到Driver.class的异常,也就是无法加载数据库驱动。
             Class.forName("com.mysql.jdbc.Driver");



2.获得数据库连接

        
         既然厂长有想法和B村之间架设一座桥梁,那就要和B村商量一下啊!然后,厂长就要去河的对岸,那条河呢?就是在工厂和B村之间的那条河(这条河就相当于Database_IP),然后去找B村的村长(在这里要明白是B村的村长不是A村的,所以不能找错了!!!),找到B村村长,“我要在工厂和B村之间建设一座桥,来运输我们的东西”,下一步谈的当然是条件了,工厂老板说“我要B村出资90%,剩下的由工厂出!!”村长当然不干了,这桥当然也就没法建设了!!!所以只有当两者都满意的情况下才可以建设桥梁(比如,各处50%)其实谈条件的过程就相当于验证数据库的"DATAROOT"和"PASSWORD"!!!只有两者都正确的情况下才可以进行下一步的计划——也就是建设桥梁!!!

         在程序中的过程如下:
         Connection conn = null;
         conn = DriverManager.getConnection("jdbc:mysql://Database_IP:3306/DATABASE","DATAROOT","PASSWORD");
         //返回Connection————获得数据库连接


3.创建语句


         桥已经建好了,然后工厂要准备一些卡车来运输生产的货物,然后农村需要根据不同的货物来处理这些货物,有些货物直接卸在B村就可以了,但有些货物卸在B村之后,B村要做一些处理然后运回工厂!!!
       
         这个过程在程序是怎么体现的呢?
         String sql = "SQL_TORUNNING";
         向DATABASE发送一个执行语句
         Statement stmt = conn.createStatement();//创建一个 Statement 对象来将 SQL 语句发送到数据库.
         Statement—————SQL_RUNNING!!!


4.处理数据库发送来的消息

         如果工厂运输到B村的货物,只要B村的村长给工厂开一张条就行了;但也会有一些货物需要运回工厂!!

         在程序中:
         ResultSet rs = Statement.executeQuery(SQL_RUNNING);//执行SQL_RUNNING命令,返回ResultSet
         //如果执行的数据库语句不是对数据库中的内容进行修改的话,则用 Statement.executeQuery()——需要返回一些货物
         //如果执行的数据库语句是修改数据库中的内容进行修改的话,则用 Statement.executeUpdate()——开张条就行了
         //当然他们返回值的类型也不同!
         //根据命令的不同Statement的方法也不同
                  
                 创建一个表      
                 Statement.execute(create a table)
                   
                 增删改查Insert、update、delete...
                 Statement.executeUpdate()
                  
                 查询语句Select
                 Statement.executeQuery(Select);
                  


5.处理数据库传回的内容


        这个过程由工厂完成,如果是返回的一些货物的话,工厂要做一些处理。
 
        处理的过程:
                while(ResultSet.next()){
                ResultSet.getInt(int);
                ResultSet.getString(int);
                ......
            }

6.关闭数据库

        这样的话,工厂和B村的交易就完成,在现实世界中工厂和B村之间的桥梁不会被拆除,因为建一座桥的代价很大,但在程序和数据库之间架设一座桥梁简直太简单了,所以在这里我们要把这座桥梁拆除。

        Connection.close();




简单的举了一个例子来说明数据库和程序之间是怎么连接的,望对大家有所帮助。








posted on 2010-12-09 18:37 tovep 阅读(1618) 评论(1)  编辑  收藏

FeedBack:
# re: Java连接数据库技术JDBC 2011-06-04 15:35 那一剑的风情
不错 ,很详细,即使不懂也看的懂  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 
主页