Java学习笔记(十六)

一、回顾
    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语句完成对数据库的,增删改查的操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值