一、回顾
1、MVC设计模式:
1-1、视图层:界面(页面)
职责:用于显示信息,获取用户的信息,转发请求,输入数据进行验证。
1-2、控制器层:
职责:接受请求,并转发请求,用于业务调度,具体的业务功能它并不自己实
现,而是通过调度有能力处理的模型对象来处理,并确定一下个视图。
1-3、模型层:
职责:具有具体业务功能的类型(数据的存储,操作等)。
2、开发项目
需求分析-->概要设计-->详细设计-->编码实现-->测试-->部署-->维护
项目名
创建包(包要分类,包括视图层,控制器层,模型层,以及实体层)
定义接口或者抽象类以及实体类
2-1、实体类:学生类、用户类、管理员类
2-2、接口或者抽象类:
视图:
public abstract class View{
//创建一个集合对象,用于储存一些必要的信息,有可能用于信息传递
private HashMap<String,Object> map=new HashMap<String,Object>();
public void setMap(HashMap<String,Object> map){
this.map=map;
}
public HashMap getMap(){
return this.map;
}
/**
*显示静态信息
*获取客户信息
*转发请求
*@return view 下一个视图
*/
public abstract View show();
}
控制器:
public abstract class Controller{
//创建一个集合对象,用于储存一些必要的信息,有可能用于信息传递
private HashMap<String,Object> map=new HashMap<String,Object>();
public void setMap(HashMap<String,Object> map){
this.map=map;
}
public HashMap getMap(){
return this.map;
}
/**
*接受请求
*并转发请求(用模型对象来处理相关业务)
*确定一下个视图
*@return view 下一个视图
*@param view 表示发出请求的视图对象
*/
public abstract View handle(View view);
}
模型层:
定义模型接口(分业务模块定义):
public interface IStuOperate{
//添加
public abstract boolean addStudent(Student student);
public abstract boolean aadAllStudent(ArrayList<Student> list);
//查询
public abstract Student queryStudentById(String stuId);
public abstract ArrayList<Student> queryAllStudent(String condition);
public abstract ArrayList<Student> queryAllStudent();
//删除
public abstract boolean deleteStudentById(String stuId);
public abstract boolean deleteAllStudent();
public abstract boolean deleteAllStudent(String condition);
//修改
public abstract boolean updateStudent(Student replaceStudent);
}
public class StudentDao implements IStuOperate{
}
定义具体的视图(界面):
MainMenuView(主菜单界面):
RegisterStudentView(添加学员界面):
QueryStudentByIdView(按照学号查询界面):
QueryAllStudentView(查询所有学员界面):
业务功能的实现
测试(单元测试-->功能模块测试-->集成测试-->压力测试等)
发布-->部署-->运行-->维护
二、1、数据库:是可以实现数据海量存储,高效访问,兼顾网络共享和安全,对于现有数据可以实现数据挖掘功能的系统。
数据库本身的意思:是包括数据的文件,以及硬件资源的数据仓库。是按照数据结构来组织、存储和管理数据的仓库。 用表来组织数据。
广泛的意思:是指数据库管理系统(DBMS)。
DBMS用途:
1)对数据库进行管理的系统。
2)创建数据库、修改数据库、维护数据库、用户管理。
3)可以理解用户的意图,并帮助实现功能,把结果传递给用户。
关系型数据库:
目前占主导地位的数据库:
Sqlserver db2 oracle
postgresql mysql
2、Structured Query Language 简称T-SQL语言,标准语言
1) 数据定义语言(DDL),例如:CREATE、DROP、ALTER等语句。
2) 数据操作语言(DML),例如:INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。
3) 数据查询语言(DQL),例如:SELECT语句。
4) 数据控制语言(DCL),例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句。
事务:一系列操作构成,它们是一个整体。
可以写程序,循环结构,条件分支结构,批处理,事务,视图,索引,存储过程等。、
3、SQLite是一款轻型的数据库,是一种关系型数据库管理系统,它的设计目标是嵌入式的,
而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,
可能只需要几百K的内存就够了。
sqlite3.exe 服务器端程序,在该数据库系统中可以创建,操作数据库。
服务器端:提供服务的一方。
客户端:提出需求的一方。
数据库的应用步骤:
3-1、创建数据库:创建一个用于存储管理某种系统中所要存储的数据的仓库,数据
以表的形式来组织数据,表相当于一种类型,表是由行和列构成,
一行就是一个具体的对象,列就相当于类的属性。
sqlite3 dbname.db
3-2、创建表:二维矩阵。
行:记录
列:列或、域、字段,列就相当于类的属性
主键:在表的列中,若干个列的组合如果可以起到区分不同对象的作用,
这样的组合(一般是单个列)就称为主键,例如人的属性中的身
份证号就可以起到这样的作用。
外键:在表中的列中,除主键外,其他的列都有可能做外键,当其中一
列引用了另外一个表的主键的时候,该列称为子表的外键。
Id(主键)标识列:数据类型是int类型,自动增长,不会随着表中记录的
行数的(删除),而调整,继续在上一次的基础上增加。
在表中如果没有太合适的列作为主键时,可以自定义的
自动增长列。
create table tableName(
colName1 type 约束,
定义列2,
...
);
sqlite数据库中的数据类型:
1.NULL:空值相当于Java中null。
2.INTEGER:带符号的整型,相当于Java中int型。
3.REAL:浮点数字,相当于Java中float/double型。
4.TEXT/VARCHAR:字符串文本,相当于Java中String类。
5.BLOB:二进制对象,相当于Java中byte数组。
3-3、创建约束:约束条件,是一些限制,保证数据的完整性,不合法的数据是加不
进表中的。
数据的完整性=准确+正确
分类:主键约束、外键约束、check约束。
3-4、操作,运用sql语句完成对数据库的,增删改查的操作。