JDBC入门讲座(上)

来源:互联网 发布:网络电视看直播调清洗 编辑:程序博客网 时间:2024/06/05 04:45

        这个是在科协Java小组时给师弟师妹的讲座,内容是关于JDBC的,面向的是大一大二初步了解Java但是还未接触过数据库的同学,由于当时自己处在大三年级,个别理解会有偏差,不过也是尽力而为,希望对大家有所帮助。

        讲座分以上几个方面进行。首先对JDBC有个简单的了解,然后简单讲述一下数据库的基本知识以及结构化查询语言SQL。因为针对学院的教学进度安排,这一时间的学生普遍还没有接触过数据库。然后讲述在Java环境中使用数据库,即使用JDBC的基本步骤。然后将Java的数据库使用从JDBC上升到ORM(对象关系映射)的思想和层面上来。讲过JDBC之后又返回数据库的基本设计知识,让大家有所了解,并意识到基本的数据库设计其实是一件不复杂的事情,比较容易上手,当然只是抛砖引玉。期待大家更多的学习和研究。

        全部PPT共有70页,JDBC入门讲座(上)是从第1页一直到第40页,JDBC入门讲座(下)将从第40页一直到第70页。

        首先从SSD3面向对象程序设计开始,第3页ppt右边的图分别是SSD3时的练习以及我对照练习自己做的一个成绩单查询小软件。可以看出,其中每个里边数据量都很大。解决加载这些数据的方式不同:

        其中SSD3的练习时直接在代码中写死这些数据,也就是代码段装入内存后,从内存读出该数据;我所改写的成绩单查询小程序是以读文件的方式按Java 流的方式读入几个txt文件然后依次赋给内从中新建对象的属性,相比来讲,第一种方式过于死板,程序对数据的更改必然伴随着重新编译,而第二种方式免不了的是要写大量的读写文件操作的代码,比如使用正则表达式或String Tokenizer(更早的一种字符串解析程序)。

        而这两种方式对程序员来说普遍效果都不是很好,因此我们引出了数据库。在Java 中就是用JDBC来解决这种大数据量读取程序。

        数据库的产生也是从人们的认识水平一点一点建立起来的,最初的程序对数据在计算机中的访问方式如下:每一个程序Program会访问自己的一段数据,就像我们上边提到的第一个小引子:SSD3练习菜单列表一样。

        然后进入下一阶段,数据借助文件系统存储。程序通过文件系统访问数据。每一个程序Program,会访问一段或几段数据,每一段程序会自己解决所调用数据的一系列问题,如数据读取等等,就像我们上边提到的第二个小引子:成绩单查询小程序一样。

        经过前面两个阶段的探索以及对大数据简单读取的需求,就产生了数据库系统。DBMS是数据库管理系统,所有的数据都通过DBMS来统一管理,多段程序可以访问,甚至可以同时访问某些相同的或不同的数据。而一个数据库管理系统DBMS的复杂程度不亚于一个操作系统。

        简单了解数据库以后我们简单来浏览一下成绩单查询小程序的另一种数据读取的解决方式,即采用JDBC数据库方式。代码如下右所示。我们发现有如下特点:

        首先,会发现一个新的单词叫MySQL,我们暂不理会,一会再讲;

        其次,发现了java.sql.connection代码,就是连接特定数据库管理系统的意思;

        再次,发现了有一个很有意思的代码“SELECT c.coursename, c.credits FROM course c WHERE credits > 2”,这里给大家展示一下数据库管理系统的图像界面,我用的事Navicat for MySQL, 在里边有一个名为course的表格,姑且大致理解它。我们可以大胆猜想这句话的意思是“从course中选出coursename(课程名)、credits(课程学分),其中需要满足credits > 2的条件”。而事实上就是这个意思;

        最后,我们发现整个这些代码被try-catch块包围。

        引出JDBC之后,我们来看一下数据库。

        我们从三个方面简单介绍数据库。

        介绍几个基本概念,数据库系统,数据库DB,数据库管理系统DBMS(Database Management System):

        数据库系统:是由数据库,数据库管理系统,应用程序组成的计算机系统,由数据库管理员进行操作。

        数据库管理系统DBMS(Database Management System):就是管理数据的系统软件,有多个公司的多个数据库管理系统在市场上流行,各有特点。其中比较有名的有DB2、Oracle、MySQL等等。

       这是数据库系统组成图。

        下面介绍一个概念数据模型,在数据库中数据都是以数据模型的方式表达和存储的。数据模型是数据库系统的核心和基础。

        目前有两大类数据模型,一种是基于对象的数据模型,还有事基于记录的数据模型。在数据建模中与基于对象的数据模型对应的事面向对象模型和实体关系模型;与基于记录的模型相对应的事关系数据模型。关系数据模型是目前广泛采用的数据模型。

        程序员对数据库的操作主要分为对数据操作,包括对数据的增、查、删、改(CRUD)以及对事务的操作。

        下面讲的事结构化查询语言SQL,也就是程序员对数据库数据的操作所必须掌握的语言。PPT比较多就不一一解释了,跟着看下去。

        SELECT语句,拿一个部门和雇员作为例子,一下关于SQL的内容,即从ppt第19页到ppt第38页摘自一个讲SQL的PPT教程。取了最基本的一点东西,并稍作了修改。

        SQL当中除了定义了对数据的操作语句和方法,还定义了事务操作的方法。我们通过一个Commits&Rollbacks.sql来简单了解一下事务操作中的最简单的一个内容,事务的提交和回滚。这个例子是在数据库系统课程练习中所摘录的,可以用数据库管理系统的图形化界面进行演示,这里用的事postgreSQL数据库,当然其他的数据库管理系统如MySQL同样也可以演示。

        在简单了解了数据库以及结构化查询语言之后我们即将对JDBC进行更深入一部的学习。

        请看《JDBC入门讲座(下)》

原创粉丝点击