初级阶段3-数据库学习
经历了Java的学习,你有没有发现程序的数据大部分都是运行完就消失了,并没有保存起来,当然我们学习过文件的操作,可以把数据保存在文件中,但是当你需要保存大量的复杂数据时,文件不是一个好的解决方法,数据库正是帮你解决这些问题,数据库强大的功能还可以帮助你处理很多问题。
JavaDayUp-远行客
这个作者很懒,什么都没留下…
展开
-
38、使用JDBC访问存储过程
学习目标:1、掌握使用JDBC调用存储过程学习过程:把对数据库的操作封装成为存储过程,然后使用jdbc可以调用这个存储过程,这样可以大大简化jdbc的工作,而且还有很多优点:提高运行效率。 提高安全性。 减少网络传输。要调用存储过程,可以使用CallableStatement接口,这个接口专门就是设计用于调用存储过程的。调用的格式是:{call 存储过程名称(?,?)}...原创 2018-11-13 19:49:28 · 172 阅读 · 0 评论 -
37、存储过程
学习目标:1、了解存储过程的定义和使用2、了解存储过程的使用场景3、能够根据业务场景编写存储过程解决问题学习过程:一、存储过程在大型数据库系统中,存储过程和触发器具有很重要的作用。无论是存储过程还是触发器,都是SQL 语句和流程控制语句的集合。就本质而言,触发器也是一种存储过程。存储过程在运算时生成执行方式,所以,以后对其再运行时其执行速度很快。SQL Server 200...原创 2018-11-13 19:48:58 · 120 阅读 · 0 评论 -
36、触发器
学习目标:1、了解触发器的定义和使用2、掌握触发器的使用场景学习过程:一、什么是触发器触发器是当特定事件出现时自动执行的存储过程,特定事件可以是执行更新的DML语句和DDL语句,触发器不能被显式调用。触发器的功能:自动生成数据 自定义复杂的安全权限 提供审计和日志记录 启用复杂的业务逻辑定义触发器的基本格式如下:CREATE [OR REPLACE] TRIGG...原创 2018-11-13 19:45:35 · 234 阅读 · 0 评论 -
35、函数和视图
学习目标:1、掌握PL/SQL函数的定义和使用2、掌握PL/SQL视图的定义和使用学习过程:一、函数Function1、定义函数函数的功能和在java封装一个方法的作用一样的,你可以把一些常用的功能封装起来,方便调用,函数是可以理解为有返回值的命名的 PL/SQL 子程序。创建函数的语法:CREATE [OR REPLACE] FUNCTIONRETURN [...原创 2018-11-13 19:44:22 · 175 阅读 · 0 评论 -
34、游标
学习目标:1、了解游标的概念2、掌握游标的使用学习过程:游标是什么?游标字面理解就是游动的光标。用数据库语言游标是映射在结果集中一行数据上的位置实体,有了游标,用户就可以访问结果集中的任意一行数据了,将游标放置到某行后,即可对该行数据进行操作,例如提取当前行的数据等来描述:在PL/SQL中使用DML语句时自动创建隐式游标,隐式游标自动声明、打开、抓取和关闭。通过检查隐式游标的属...原创 2018-11-13 19:43:09 · 137 阅读 · 0 评论 -
33、循环
学习目标:1、掌握PL/SQL的循环语句的语法和使用2、灵活使用PL/SQL的循环语句学习过程:同样PL/SQL语言也支持循环结构,循环控制的三种类型:LOOP无条件循环,WHILE根据条件循环,FOR循环固定的次数。一、LOOP无条件循环LOOP循环是最简单的循环,它会无条件的一直循环下去,所以我们很多时候需要使用exit关键字退出这个循环。格式如下:LOOP ...原创 2018-11-13 19:43:38 · 217 阅读 · 0 评论 -
32、条件结构
学习目标:1、掌握PL/SQL的条件语句语法和使用2、灵活使用PL/SQL的条件语句学习过程:和编程语言一样PL/SQL语言也支持条件结构,主要有两种语法:IF语句和CASE 语句。一、IF语句IF 语句根据条件执行一系列语句,有三种形式:IF-THEN、IF-THEN-ELSE 和 IF-THEN-ELSIF示例: --输入两个数,打印出较大那个数decl...原创 2018-11-13 19:42:10 · 137 阅读 · 0 评论 -
31、PL/SQL简介
学习目标:1、了解PL/SQL2、了解使用PL/SQL定义变量和基本语句块3、了解使用PL/SQL的异常学习过程:今天我们开始主要学习PL/SQL语言,作为一名java成员人员至少要了解一门数据库编程语言,这里我们就以oracle的PL/SQL语言来学习。这两天的课程也仅仅只是PL/SQL语言的入门,我们不是要把大家培养成为专业的Oracle的DBA,如果大家有兴趣可以自己阅读...原创 2018-11-13 19:41:15 · 448 阅读 · 0 评论 -
30、高级BaseDao封装
学习目标:1、深入了解面向对象、泛型反射等概念的使用2、BeseDao的封装学习过程:事实上我们还可以进一步的封装,因为对数据库的每一个表的操作几乎都包含增删改,还有根据id进行查询,以及查询全部等等基本的方法,所有我们也可以可把所有的这些方法都封装到FatherDao中,你可以观察一下所有sql语句,除了表名称,属性名称不同之外都是一样的,所有我们可以动态的构造这些sql语句。当...原创 2018-11-13 19:38:31 · 236 阅读 · 0 评论 -
29、通过反射完成resultSet到Object的转换
学习目标:1、巩固反射、泛型等知识的使用2、编写高级BaseDao类学习过程:有关JDBC的内容就讲到这里,下面我们对BaseDao进一步封装,主要应用一下以前学习的泛型和反射的概念。毕竟大家对java高级方面的内容掌握的并不是很好。首先我们先看看在所有的查询语句中都需要把结果集的内容转换成为对象如下面的这段代码: while (rs.next()) { // ...原创 2018-11-12 12:54:34 · 1214 阅读 · 0 评论 -
28、批处理和元数据
学习目标:1、了解批处理2、掌握使用JDBC读取数据库的元数据信息学习过程:一、批处理1、为什么需要使用批处理JDBC驱动的最佳化是基于使用的是什么功能. 选择PreparedStatement还是Statement取决于你要怎么使用它们. 对于只执行一次的SQL语句选择Statement是最好的. 相反, 如果SQL语句被多次执行选用PreparedStatement是最...原创 2018-11-12 12:54:07 · 128 阅读 · 0 评论 -
27、连接池c3p0和DBCP
学习目标:1、了解数据库连接池的概念2、掌握C3P0和DBCP的使用3、能在项目中灵活配置连接池的参数学习过程:一、连接池简介为什么我们需要连接池呢?因为在程序运行时,我们经常需要访问数据库,而每一次对数据库的访问或者操作,都需要经历几个固定的步骤:建立数据库连接、存取数据和关闭数据库连接等。在这几个步骤中,建立数据库连接是其中最为耗时的,所需资源最到,对手数据库压力也大,...原创 2018-11-12 12:53:38 · 113 阅读 · 0 评论 -
26、JDBC对事务的支持
学习目标:1、巩固事务的知识2、JDBC对事务的支持和语法使用学习过程:一、jdbc中使用事务我们先回顾一下什么是事务,事务(TRANSACTION)是作为单个逻辑工作单元执行的一系列操作,这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行。事务是一个不可分割的工作逻辑单元 那么在jdbc中如何可以实现是事务呢?我们平时使用jdbc时,并不需要显示的提交数据,因为...原创 2018-11-12 12:52:41 · 217 阅读 · 0 评论 -
25、Basedao封装和应用
学习目标:1、巩固面向对象的知识2、巩固JDBC的使用学习过程:一、封装BaseDao类昨天我们学习了JDBC连接和操作数据库,按照连接几个基本步骤操作就可以了,但是昨天我们写的代码有很多的冗余,大家可以看看,添加、删除和更新用户等等几个方法,几乎除了sql语句不同之外,其他都是一样的,这样可不是很符合我们面向对象的思想,我们已经适当封装一下,使代码更加简洁。事实上我们可以...原创 2018-11-12 12:52:14 · 514 阅读 · 1 评论 -
24、PrepareStament
学习目标:1、了解PreparedStatement接口的意义2、掌握PreparedStatement的使用学习过程:一、PreparedStatement接口简介PreparedStatement是预编译的SQL语句,它继承了Statement 接口,使用PreparedStatement的优点是:(1)书写代码比较规范,不需要字符串的连接,毕竟字符串连接长了之后,看起...原创 2018-11-12 12:51:28 · 1613 阅读 · 0 评论 -
23、Oracle等其他数据库连接
学习目标:1、掌握使用JDBC连接oracle数据库的方法2、了解JDBC面向接口的精髓学习过程:oracle等其他数据库连接前面我们讲过JDBC是仅仅只是一个接口,具体的实现有各个数据库厂商提供,正式因为JDBC是面向接口编程,所以我们如果现在要连接的不是mysql数据库,而是Oracle或者其他的数据库,那么我们只需要导入其对应的驱动包,然后把连接信息修改一下即可。下面我们...原创 2018-11-12 12:51:05 · 166 阅读 · 0 评论 -
22、Resultset查询
学习目标:1、了解ResultSet对象2、使用JDBC连接数据库并执行查询3、把查询放回的接口进行封装处理学习过程:一、ResultSet对象简介使用JDBC查询的结果存放在ResultSet对象的一系列行中,ResultSet对象的最初位置在行首,ResultSet.next()方法用来在行间移动,ResultSet.getXXX()方法用来取得字段的内容,每次执行...原创 2018-11-12 12:50:41 · 915 阅读 · 0 评论 -
21、jdbc的连接步骤
学习目标:1、了解JDBC驱动的种类2、熟悉JDBC提供的接口类3、熟悉JDBC的使用方法学习过程:一、JDBC驱动程序种类目前比较常见的可分为以下四个种类: 1、JDBC-ODBC桥加ODBC驱动程序。ODBC是微软公司开放服务结构中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的的标准API JavaSoft桥产品利用ODBC驱动程序提供...原创 2018-11-12 12:50:14 · 112 阅读 · 0 评论 -
20、mysql数据库的介绍
学习目标:1、了解Mysql的历史2、掌握Mysql在Window环境的安装3、Mysql客户端的安装和基本语法的使用 学习过程:一、什么是mysqlMySQL是一个中、小型关系型数据库管理系统,原来由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证),它分...原创 2018-11-12 12:54:48 · 413 阅读 · 0 评论 -
19、事务
学习目标:1、掌握事务的概念和意义2、掌握Oracle对事务的支持和语法3、在实际项目中能掌握事务的使用学习过程:一、什么是事务事务(TRANSACTION)是作为单个逻辑工作单元执行的一系列操作,这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行。事务是一个不可分割的工作逻辑单元 1、事务的必要性基本上讲解事务都会举这个例子讲解。银行转帐问题:我们假...原创 2018-11-11 11:24:29 · 213 阅读 · 0 评论 -
18、导入和导出
学习目标:1、掌握Oracle最基础的导入导出的方法学习过程:因为很多同学都需要把在课堂上没有完成的数据库复制回家继续做。,这节课简单讲述Oracle的导入和导出命令,导入/导出是ORACLE幸存的最古老的两个命令行工具,Exp/Imp并不是一种好的备份方式,正确的说法是Exp/Imp只能是一个好的转储工具,特别是在小型数据库的转储,表空间的迁移,表的抽取,检测逻辑和物理冲突等中有不小...原创 2018-11-11 11:24:05 · 188 阅读 · 0 评论 -
17、多表连接查询
学习目标:1、掌握自然连接、左外连接、右外连接和全连接的概念2、掌握Oracle对自然连接、左外连接、右外连接和全连接的语法的支持3、熟练掌握多表连接查询学习过程:有时候我们需要从多张表中获取数据,select语句支持一次性查询多张表,这些表在内存中会做一个“乘法”操作。两个表如何相乘呢?我们看看那下面这个例子。比如现在有两张表,员工表和部门表如果这两张表做一个乘法...原创 2018-11-11 11:23:44 · 192 阅读 · 0 评论 -
16、子查询
学习目标:1、掌握子查询的语法2、掌握相关子查询的含义3、掌握学习过程:首先,我们先讲讲子查询的语法,在一条查询语句中可能会有两个select查询,其中内部查询也称为子查询,是在主查询之前执行一次的,子查询的结果被用于主查询(外部查询)。其常用个课时如下:select * from 表 where (condition 包含另外一个查询也就是子查询。)一、单行子查询...原创 2018-11-11 11:23:22 · 199 阅读 · 0 评论 -
15、集合查询
学习目标:1、熟练掌握交集、并集、差集等结合查询的使用学习过程:一、建立今天课程所需要的数据库1、建表我们先设计今天要操作的表的结构,使用powerDesigner设计的E-R图如下:2、生成sql语言如下: 1 2 3 4 5 6 7 8 9 10 11 12 1...原创 2018-11-11 11:22:55 · 527 阅读 · 0 评论 -
14、增删改操作
学习目标:1、熟练掌握增删改的语法2、删除和更新结合where语句的语法学习过程:作为应用程序的开发人员,对数据库的最基本的操作就是增删改查四个操作,昨天我们已经学习了基本的数据库查询,今天我们将会学习两个增删改操作和高级查询。增删改都会改变数据库表的内容,而且数据一旦提交,就很难恢复,所以这些操作大家必须要谨慎,但是这些操作基本上也比较简单,记住语法就可以了。一、插入语句...原创 2018-11-11 11:22:29 · 320 阅读 · 0 评论 -
13、分组查询
学习目标:1、掌握分组查询的语法2、掌握基础的分组统计函数学习过程:一、组函数组函数的操作是基于一批行进行的,从而每一组得出一个结果。常用的分组函数有:AVG:求平均值COUNT:统计数量MAX:求最大值MIN:求最小值SUM:求和STDDEV:标准差VARIANCE:方差示例如下:--查询全体员工的平均工资select round(av...原创 2018-11-11 11:22:08 · 169 阅读 · 0 评论 -
12、条件查询和排序
学习目标:1、熟练掌握select语句的条件查询2、掌握Order By语法学习过程:前面的查询都比较简单,都是查询全部的内容的,但是在现实生活中我们经常会需要查询符合一些条件的数据,而不是每一次都是全部数据。比如如果我们只需要查询工资在3000至5000之间员工,部门1的员工等等。这样我们可以在基本的查询语句后面通过where关键字添加查询条件即可。基本格式如下:select...原创 2018-11-11 11:21:44 · 416 阅读 · 0 评论 -
11、Oracle自增和简单查询
学习目标:1、了解主键自增的设置2、掌握select的基础语法学习过程:今天我们开始学习数据库语言的DML部分。一、建立今天课程所需要的数据库。1、建表。我们先设计今天要操作的表的结构,使用powerDesigner设计的E-R图如下:生成sql语言如下:create table departrment ( dep_id ...原创 2018-11-11 11:21:18 · 1526 阅读 · 0 评论 -
10、PowerDesigner进行数据库建模
学习目标:1、掌握PowerDesigner的基础使用2、能根据业务需要使用PowerDesigner设计数据库学习过程:PowerDesigner进行数据库建模,PowerDesigner美国Sybase公司研制的一种常用的系统建模工具,其主要特点如下: 1) 可视化、多特性的开发工具。2)功能强大的面向对象技术。3)支持高效的复杂应用程序。4)企业数据库的连...原创 2018-11-11 11:20:38 · 385 阅读 · 0 评论 -
9、三大范式
学习目标:1、了解数据库范式的概念2、掌握数据库设计的三大范式3、能使用三大范式指导数据库的设计学习过程:仅有好的RDBMS并不足以避免数据冗余,必须在数据库的设计中创建好的表结构,如果数据库设计不良好会有导致很多问题。其中一个就是会有数据冗余。表中包含大量的冗余,可能会导致数据多种异常:更新异常、添加异常、删除异常。上一节课数据库建模就已经完成了,但是我们又如何知道自己设...原创 2018-11-09 21:20:41 · 462 阅读 · 0 评论 -
8、E-R图的设计
学习目标:1、了解数据库设计的思维2、了解什么是E-R图3、能根据业务需要设计E-R图学习过程:今天我们简单介绍有关数据库建模的理论知识,同时通过一些简单的例子讲解我们数据库的表是怎么设计出来的。今天的主要学习目标是:了解设计数据库的步骤。 理解数据库的规范化-三大范式。 掌握使用PD设计数据库。这节课我们先讲讲数据库设计重要的一个步骤——E-R图的设计。一、为什...原创 2018-11-09 21:20:09 · 6140 阅读 · 0 评论 -
7、外键约束
学习目标:1、掌握外键约束的意义2、掌握建立外键约束的语法学习过程:一、外键约束Foreign key 约束用于定义主从表之间的关系,外部键约束要定义在从表上, 但主表必须具有主键约束或唯一约束. 当定义了外部键约束之后,要求外部键列的数据必须在主表的主键列(或唯一键)中存在, 或者为Null。在数据库中表与表之间不是独立的,它们是有关系的。这在我们显示生活中的例子也有很多...原创 2018-11-09 21:06:45 · 333 阅读 · 0 评论 -
6、约束的操作
学习目标:1、掌握表级约束的建立2、掌握约束的维护学习过程:一、表级约束表级约束是指在定义了所有列之后定义的约束。不过要注意,非空约束(not null)只能在列级中定义, 而不能在表级中定义。示例: create table t_student( --物理id stu_id int , stu_num char(4) not null, ...原创 2018-11-09 21:06:20 · 185 阅读 · 0 评论 -
5、定义约束
学习目标:1、了解约束的意义2、了解Oralce提供的不同的约束3、掌握建立Oracle提供的不同的约束学习过程:一、什么是约束1、数据完整性数据完整性(Data Integrity)是指数据的精确性(Accuracy) 和可靠性(Reliability)。它是应防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。数据完整性...原创 2018-11-09 21:05:54 · 938 阅读 · 0 评论 -
4、建表操作
学习目标:1、掌握Oracle提供的数据类型2、掌握PL/SQL的建表语法学习过程:一、什么是表表是Oracle数据库最基本的对象,他是存储用户数据,关系数据库的所有操作最终都是围绕用户数据(表)进行的。表对应于现实世界中的对象(例如部门和雇员)。当进行数据库的设计时,需要构造E-R图(实体关系图),在将E-R图转变成为数据库对象的时候,实体最终转换为数据库表。表由行和列两...原创 2018-11-09 21:05:28 · 281 阅读 · 0 评论 -
3、基本sql的认识
学习目标:1、了解什么是标准的SQL语言2、了解Oracle提供的PL/SQL学习过程:一、SQL语言介绍1、什么是SQL语言SQL全称是“结构化查询语言(Structured Query Language)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自...原创 2018-11-09 21:04:54 · 267 阅读 · 0 评论 -
2、oracle的安装
学习目标:1、掌握在window环境下Oracle数据库软件的安装2、掌握Oracle的客户端链接工具的使用学习过程:要学习Oracle数据库,那么我们还是先在系统上安装了Oralce。我们可以免费下载进行学习。一、下载安装文件到oracle的官方网站下载即可:http://www.oracle.com/index.html你可以根据自己的电脑的情况选择适合自己的版...原创 2018-11-09 21:03:57 · 281 阅读 · 0 评论 -
1、数据库简介
学习目标:1、了解数据库的概念和意义2、了解不同的数据库软件学习过程:一、数据库的作用1、数据库技术我们以前使用存储数据的方法写成磁盘文件,保存在文件中,但是随着信息量不断增大,信息的关系也越来越复杂,传统的文件系统已经不能满足人们的需要,数据库技术应运而生。数据库技术是计算机科学技术的一个重要分支。从20世纪50年代中期开始,计算机应用从科学研究部门扩展到企业管理及政...原创 2018-11-09 21:03:16 · 375 阅读 · 0 评论