运用JDBC进行数据库编程

来源:互联网 发布:淘宝如何查找附近的人 编辑:程序博客网 时间:2024/06/05 10:45

        利用JDBC进行数据库编程。实际是利用sql包中的东西进行编程。实际上JDBC是一个标准,java应用程序通过JDBC(java数据连接,java数据库应用程序编程接口,sun公司提供)对数据库进行增删改查操作。ODBC实际上与JDBC类似,开放式数据库连接,是由微软提供的。而JDBC的实现是一些类和接口的集合(jar包)。

       JDBC驱动程序的类型:

       1. JDBC-ODBC桥梁:Access

                    java应用程序------>JDBC API-------->JDBC-ODBC桥------->ODBC API------->ODBC层------>数据源

       2.本地代码驱动程序:JDBC API与数据库厂商专用API之间连接的JDBC驱动程序

                    java应用程序------>JDBC API-------->JDBC驱动程序------->数据库厂商专用API------->数据源

      3.中间数据库访问服务器:将JDBC驱动程序专门跑在JDBC驱动程序服务器上,提高效率

                    java应用程序------>JDBC API-------->JDBC驱动程序------->JDBC驱动程序服务器------->本地驱动程序---->数据源

      4. 专利协议纯java驱动程序:

                   java应用程序------>JDBC API-------->JDBC驱动程序------->数据源

   java.sql包:

              接口名                                                                  说明

             Driver                                           具体驱动程序(选择连接的数据库类型)

             Connection                                   此接口表示与数据的连接(与所选数据库建立连接)

             PreparedStatement                      此接口用于执行预编译的SQL语句(执行什么样的东西)

             ResultSet                                      此接口表示查询出来的数据库数据结果集(存入结果)

             Statement                                     此接口用于执行SQL语句并将数据检索到ResultSet中

       1. 使用Class.forName(驱动程序)来加载驱动程序

              驱动程序类:

              JDBC-ODBC桥: sun.jdbc.odbc.JdbcOdbcDriver

              SQLSERVER:    com.microsoft.jdbc.sqlserver.SQLServerDriver

                                           com.microsoft.sqlserver.jdbc.SQLServerDriver

              Mysql:                org.gjt.mm.mysql.Driver

              Oracle:                 oracle.jdbc.driver.OracleDriver

       2. Connection conn=DriverManager.getConnection(url,user,passwd); 

           (1). 几种数据库驱动程序jar包:

             SQLSERVER:msbase.jar;  mssqlserver.jar;    msutil.jar

             Mysql:   mm.mysql-2.0.14-bin.jar

             Oracle:    classes12.jar

          (2). url:

                 JDBC-ODBC: jdbc:odbc:datasourceName

                 SQLSERVER: jdbc:sqlserver://localhost:1433;DatabaseName=DBName

                  Mysql:jdbc:mysql://localhost:3306/DBName?user=root&password=pass

                 Oracle:  jdbc:oracle:thin:@localhost:1521:DBname

          (3). user: 数据库用户名

                passwd:数据库登陆密码

       3.    string sql="insert into tablename(属性列表,...) +values (.....)"

       4.  (1). Statement  sta=conn.createStatement();

                  int n=sta.executeUpdate(sql);    // 更新插入SQL语句

            (2)  Statement  sta=conn.createStatement();

                  ResultSet res=sta.executeQuery(sql);   //查询SQL语句,并将结果保存在res中

                  但,无论是否查询成功,res都不会为空,要取其中数据,用while和next()方法

                  while(res.next()){        //next()是查看是否有数据,并移到下一位置

                          类型名   id=res.get类型名(表字段属性1);    //得到表中数据

                  }

        5. 回收销毁持久对象:if(对象!=NULL){

                                                    对象.close();

                                                    对象=NULL;

                                            }

       mvc框架中的model层可以细分为两层,即JDBC层和实体entity层,JDBC层用来连接数据库以及写最基础的sql语句进行增删改查,实体层是数据库表在内存中的映射,它相当于一个缓冲区一样,由上层来的数据被暂存在实体层,一旦要断电,那么该层的数据就会被写入数据库中进行保存。它的类的属性就是表中的字段,类的方法就是get和set方法,hashcode()和equals()方法以及toString()方法。

        java中的逻辑三层就分为数据层,对象层以及介于数据层与对象层之间的DAO(数据访问对象层),DAO向上是对象层,向下是数据层(数据库),这样就将对象与数据分开来,程序员在编程时就只需要关心对象,只写业务逻辑就可以。例如数据库框架Hibernate就是将DAO以及数据层封装起来。DAO实际是对象化的数据的增删改查,有多少个数据库表,我们就需要写多少个DAO,这时一般需要写一个接口,向上层提供增删改查的各种方式。

原创粉丝点击