您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 零点起飞学JavaWeb开发之数据库技术基本知识
第11章数据库技术基本知识SQL语句和JDBC编程是进行数据库编程的基础。JavaWeb开发和JDBC的数据库编程是紧密联系的,大部分的JavaWeb项目都要用到数据库,Java语言可以使用JDBC去操作数据库。所以掌握JDBC数据库编程非常重要。通过学习本章的知识点,读者可以掌握常用的SQL语句,学会如何使用JDBC去操作数据库。11.1快速掌握数据库操作一般讲的数据库就是指数据库管理系统,它是一个用来存储、查询和修改数据的软件系统。目前比较流行的数据库有以下几种。Oracle11g:它是目前最流行的关系型对象数据库,稳定性好,主要面向全世界大、中型信息系统。Oracle可以很好地支持Java语言。MicrosoftSQLServer:它是Microsoft公司推出的大型数据库系统,它的特点是编程接口丰富、易学、可以和其他Microsoft公司的产品结合。并且更重要的是,SQLServler也提供了JDBC编程接口,这样就可以使用Java语言去操纵该数据库。MySQL:MySQL数据库是一个广受人们喜爱的半商业的数据库,一般用于小型项目的数据库。它也有JDBC驱动程序,所以也可以用Java语言去操作这种数据库。SQL是StructuredQueryLanguage(结构化查询语言)的缩写,它是目前使用最广泛的数据库语言,现在已被许多数据库软件公司接受而成为了业内的一个标准。使用它可以去进行几乎所有的数据库操作,下面介绍如何使用SQL语句进行常用的数据库操作。11.1.1创建/删除数据库创建和删除数据库(database),就是在数据库管理系统中创建一个数据库实例。创建数据库的语法如下:createdatabase[databaseName]其中,[databaseName]是数据库的名字,下同。几乎所有的数据库都支持以上的语句。执行完上述语句后,数据库管理系统会创建一个名字为databaseName的数据库。删除数据库的语法如下:dropdatabase[databaseName]11.1.2创建/删除数据表数据表用来存储数据。关系型数据库采用二维表格去存放数据,一行代表一个记录,一列代表一个属性。创建表的语法如下:createtabletableName(column_1dataType[column_constraint]column_2dataType[column_constraint]...[Constraintprimarykeypk_tableName(column_n)])tableName为表名。column_1、column_2代表列名。dataType为列的数据类型。[column_constraint]表示对列的一些限制。pk_tableName(column_n)表明第n列为主键。11.1.3插入数据插入数据即在数据表中添加一个数据记录,语法如下:insertintotableName(column_1,column_2,...)values(value_1,value_2,...);其中,column_1、column_2为列的名字,value_1、value_2为对应列的值。11.1.4删除数据删除数据即把数据表中满足特定条件的某条记录删除,用delete语句来完成,用where语句选择满足特定条件的记录。基本语法如下所示。deletefromtableName[where...]11.1.5更新数据更新数据是指修改表中已经存在的一条或者多条数据记录,使用update语句完成更改,使用where语句筛选满足特定条件的记录。语法如下。updatetableNamesetcolumn_1=value_1,column_2=value_2,...[where...];11.1.6创建/删除视图视图是建立在基本表基础上的虚表,它把select语句返还的结果作为自己的内容。使用视图可以简化查询操作,并且使其更安全。创建视图的语法如下:create[owner]viewviewName[(column[1,...n])][withview_attribute[1,...n]]asselect_statement[withcheckoption]view_attribute::={encryption|schemabinding|view_metadata}其中,viewName代表视图的名字,column[1,...n]代表该视图的列。11.2JDBC技术及驱动程序概述JDBC是连接Java程序和数据库的桥梁。要进行JavaWeb数据库开发,就必须通过JDBC去连接数据库、执行查询和插入数据等操作。本节介绍JDBC的概念,以及常用的数据库驱动程序。11.2.1什么是JDBCJDBCAPI就是SUN公司开发的一组Java类和接口。它们给使用Java语言操作的数据库提供了统一的接口。Java程序员通过调用这些接口,就可以实现在纯Java的环境下进行各种数据的操作。在大型数据库应用程序中,还可以使用JDBC连接缓冲池来优化资源使用、实现分布事务处理等。目前最常用的JDBC3.0版本里,主要包括了两个Java包,如下所示。Java.sql:这个Java包中的类和接口主要针对基本的数据库编程服务。例如,连接数据库、执行数据库操作语句和准备语句,以及运行批处理查询等。Javax.sql:这个Java包提供了进行高级数据库编程的接口。例如,管理连接池、分布式事务处理和行集等。11.2.2数据库驱动程序概览数据库驱动程序由数据库厂商或者其他一些专门开发数据库驱动程序的厂商提供。它们用来提供给外部应用程序一个访问该数据库的接口。例如上面讲的JDBCAPI就可以看做是一种外部应用程序。只有通过调用数据库驱动程序去执行最底层的数据库操作,JDBCAPI才能最终实现操作数据库的功能。目前主流的数据库驱动程序主要有以下几种。1.JDBC-ODBC桥2.JDBC+厂商API3.JDBC+驱动程序服务器+本地驱动程序4.纯JDBC驱动程序11.3JDBCAPI概览JDBCAPI也就是Java程序连接和使用数据库的接口。掌握它们才能在JavaWeb开发中高效率地操作数据库。下面讲解一些常用的接口。11.3.1驱动接口DriverDriver接口是由数据库驱动程序已经实现了的接口。在进行JavaWeb开发时,程序员只需根据程序使用的驱动程序类型,将对应的Driver接口装载就行。不同Driver的装载方法如下所示。如果使用ODBC-JDBC桥,装载如下所示。Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);如果使用MSSQL2008数据库的JDBC驱动程序,装载如下所示。Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);如果使用MySQL数据库的JDBC驱动程序,装载如下所示。Class.forName(com.mysql.jdbc.Driver);如果使用Oracle数据库的JDBC驱动程序,装载如下所示。Class.forName(oracle.jdbc.driver.OracleDriver);11.3.2驱动管理接口DriverManagerDriverManager(驱动程序管理器)作用于用户和驱动程序之间。使用它可以来装载驱动程序和建立数据库连接。采用DriverManager来装载数据库驱动的方法没有Class.forName()方法好,所以本书不做介绍。一般使用DriverManager来建立与数据库的连接。11.3.3数据库连接接口ConnectionConnection对象代表已经装载的Driver和数据库之间建立的连接。通过它可以创建用于查询、插入、更改等操作的SQL语句。上面已经讲解了通过getConnection()方法创建Connection对象的实例11.3.4SQL语句容器接口Statement和PrepareStatementStatement与PrepareStatement接口是SQL语句的容器。其中前者是后者的父类,使用它们可以执行SQL语句。上面已经讲过怎样利用createStatement和prepareStatement生成Statement与PrepareStatement。这里讲解它们常用的方法,以及如何使用这两个接口。11.3.5记录集接口ResultSetResultSet用来存储执行查询后返还的结果集,它提供了访问结果的方法。通过它可以访问结果的不同字段。通过ResultSet的next()方法来获得它里面的结果。最初ResultSet的指针指向第一行之前,第一次使用ResultSet.next()将指针移动到第一行上,这时就可以获得该行各个字段的值。然后再执行一次ResultSet.next()将指针移动到第二行上。这样依次进行下去直到ResultSet.next()为空为止。11.4小结本章讲解了常用的SQL语句、JDBCAPI的使用方法、并且通过实例演示了如何连接不同的数据库。本章的重点是掌握如何使用JDBCAPI去连接数据库,并进行简单的操作。通过本章的学习,读者应该能够自己编写程序去使用不同的数据库。
本文标题:零点起飞学JavaWeb开发之数据库技术基本知识
链接地址:https://www.777doc.com/doc-1975386 .html