「学习笔记」数据库系统基础

概述

  1. 数据库 是 电子化信息的集合
  • 将信息规范化并使之电子化,形成电子信息’库’,以便利用计算机对这些信息进行快速有效的存储、检索、统计与管理。
  1. 表(Table):以按行按列形式组织及展现的数据
  • 数据库起源于规范化“表(Table)”的处理,Table中描述了一批相互有关联关系的数据–>关系
  1. 数据库系统的构成(概念层次):
  2. 数据库(DB):Database:相互之间有关联关系的数据的集合
  3. 数据库管理系统(DBMS):Database Management System
  4. 数据库应用(DBAP):Database Application
  5. 数据库管理员(DBA):Database Asministrator
  6. 计算机基本系统

1. 数据库管理系统(DBMS)

1.1 从用户角度看DBMS(数据库管理系统)
  1. 数据库定义:定义数据库中的Table的表名、标题(属性以及属性值的要求)等
  • DBMS提供了一套数据定义语言(DDL: Data Definition Language)给用户
  • 用户使用DDL描述其所要建立的表的格式
  • DBMS依照用户的定义,创建数据库及其中的表
  1. 数据库操作:向数据库的Table中增加/删除/更新数据及对数据进行查询、检索、统计等
  • DBMS提供了一套数据库操纵语言(DML: Data Manipulation Language)给用户
  • 用户使用DML描述其所要进行的增、删、改、查等操作
  • DBMS依照用户的操作描述,实际执行这些操作
  1. 数据库控制:控制数据库中数据的使用(哪些用户可以使用,哪些不可以)
  • DBMS提供了一套数据控制语言(DCL: Data Control Language)给用户
  • 用户使用DCL描述其对数据库所要实施的控制
  • DBMS依照用户描述,实际ijnx控制
  1. 数据库维护:转储/恢复/重组/性能监测/分析…
  • DBMS提供了一系列程序(实用程序/例行程序)给用户
  • 在这些程序中提供了对数据库维护的各种功能
  • 用户使用这些程序进行各种数据库维护操作
  • (数据库维护的实用程序,一般由数据库管理员(DBA)来使用和掌握的)
1.2 数据库语言
  • 使用者使用数据库语言,利用DBMS操纵数据库
  • SQL语言:结构化的数据库语言
  • 高级语言:一条数据库语言相当于高级语言的一个或多个循环程序,数据库语言可以嵌入到高级语言(宿主语言)中使用
1.3 从系统实现角度看DBMS的功能
  1. 数据库管理系统的实现:形式 –> 构造 –> 自动化
  2. DBMS为完成DB管理,在后台运行着一系列程序…
  • 语言编译器:将数据库语言书写的内容,翻译成BDMS可执行的命令。例如:DDL编译器,DML编译器,DCL编译器等
  • 查询优化(执行引擎)与查询实现(基本命令的不同执行算法):提高数据库检索速度的手段。例如贯穿于数据存取各个阶段的优化程序
  • 数据存取与索引:提供数据在磁盘/磁带等上的搞笑存取手段。例如:存储管理器,缓冲区管理器,索引/文件和记录管理器等
  • 通信控制:提供网络环境下数据库操作与数据传输的手段
  • 事务管理:提供提高可靠性并避免并发操作错误的手段
  • 故障恢复:使用数据库自动恢复到故障发生前正确状态的手段。例如备份、运行日志操控等实用程序
  • 安全性控制:提供合法性检验,避免非授权非法用户访问数据库的手段
  • 完整性控制:提供数据及数据操作正确性检查的手段
  • 数据字典管理:管理用户已经定义的信息
  • 应用程序接口(API):提供应用程序使用DBMS特定功能的二首段
  • 数据库数据装载、重组等实用程序
  • 数据库性能分析:统计在运行过程中数据库的各种性能数据,便于优化运行

典型的数据库管理系统(DBMS):Oracle、DB2(IBM)、Sybase、Microsoft SQL Server、Microsoft Access、PostgreSQL

「学习笔记」Spring Boot 数据库访问

Springboot对于数据访问层,无论是SQL还是NOSQL,都默认采用整合Spring Data的方式进行统一处理,Springboot添加大量自动配置,屏蔽了很多设置。并引入各种*Template,*Repository来简化我们对数据访问层的操作。

1.SpringBoot数据库访问

1.1 Spring DAO JdbcTemplate

引入spring-boot-starter-jdbc后(hikari、spring-jdbc包),就可以借助DataSourceAutoConfiguration、JdbcTemplateAutoConfiguration自动配置组件创建出HikariDataSource、JdbcTemplate对象。

「学习笔记」Spring Boot 入门

Spring Boot 是由 Pivotal 团队提供的全新框架。Spring Boot 是所有基于 Spring Framework 5.0 开发的项目的起点。Spring Boot 的设计是为了简化新 Spring 应用的初始搭建以及开发过程,并且尽可能减少你的配置文件。

从最根本上来讲,Spring Boot 就是一些库的集合,它能够被任意项目的构建系统所使用。它使用 “习惯优于配置” (项目中存在大量的配置,此外还内置一个习惯性的配置)的理念让你的项目快速运行起来。用大佬的话来理解,就是 spring boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 maven 整合了所有的 jar 包,spring boot 整合了所有的框架,总结一下及几点:

  1. 为所有 Spring 开发提供一个更快更广泛的入门体验。
  2. 零配置。无冗余代码生成和XML 强制配置,遵循“约定大于配置” 。
  3. 集成了大量常用的第三方库的配置, Spring Boot 应用为这些第三方库提供了几乎可以零配置的开箱即用的能力。
  4. 提供一系列大型项目常用的非功能性特征,如嵌入式服务器、安全性、度量、运行状况检查、外部化配置等。
  5. Spring Boot 不是Spring 的替代者,Spring 框架是通过 IOC 机制来管理 Bean 的。Spring Boot 依赖 Spring 框架来管理对象的依赖。Spring Boot 并不是Spring 的精简版本,而是为使用 Spring 做好各种产品级准备。

1. 项目管理工具Maven的基本使用

Maven是一个使用java编写的开源的项目管理工具,可以方便灵活的控制项目,不必浪费时间去在不同的环境中配置依赖的jar包,而专心于业务逻辑。

「学习笔记」Spring--SSM框架整合(Spring+SpringMVC+MyBatis)

SSM框架是spring MVC ,spring和mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,DAO层。

  • 使用spring MVC负责请求的转发和视图管理
  • spring实现业务对象管理
  • mybatis作为数据对象的持久化引擎

1.搭建SSM架构步骤:

  1. 设计数据库
  2. 先写实体类entity,定义对象的属性,(参照数据库中表的字段来设置)。
  3. 编写Mapper.xml(Mybatis),定义功能,对应要对数据库进行的那些操作,比如 insert、selectAll、selectByKey、delete、update等。
  4. 编写Mapper.java(DAO接口),将Mapper.xml中的操作按照id映射成Java函数。
  5. 配置spring和mybatis框架的整合(applicationContext.xml)
  6. 编写Service.java,为控制层提供服务,接受控制层的参数,完成相应的功能,并返回给控制层。
  7. 配置SpringMVC(web.xml)
  8. 编写Controller.java,连接页面请求和服务层,获取页面请求的参数,通过自动装配,映射不同的URL到相应的处理函数,并获取参数,对参数进行处理,之后传给服务层。
  9. 编写JSP页面调用,请求哪些参数,需要获取什么数据。

DataBase –> Entity –> Mapper.xml –> Mapper.Java(DAO) –> Service.java –> Controller.java –> Jsp

「学习笔记」Spring--持久层框架Mybatis

Mybatis支持普通sql操作,存储过程的调用,它是一个高级的ORM框架(Object Relation Mapping对象关系映射–以面向对象思想访问数据库),是一个基于Java的持久层框架。

MyBatis封装了几乎所有的JDBC操作和参数的手工设置,它会对结果集自动封装成对象,以及直接把对象存入数据库,甚至可以做到对象与对象的关系维护;诸如:建立连接、操作 Statment、ResultSet,处理 JDBC 相关异常等等都可以交给 MyBatis 去处理,我们的关注点于是可以就此集中在 SQL 语句上,关注在增删改查这些操作层面上。

1. Mybatis框架的构成

  • 实体类 : 封装记录信息(JavaBean)
  • SQL定义文件 :定义sql语句(编写SQL语句的XML)
  • 主配置文件 :定义连接信息、加载SQL文件 以及其他设置的XML
  • 框架API :用于实现数据库增删改查操作(主要通过SqlSession)

2. 使用Mybatis访问数据库

以员工表Emp(id,name,salary)为例

0%