2021-1-20(这部分涉及分包分模块思想暂时看不懂可以先留着)
1.分包思想(包的定义、类与类之间访问)
包的定义
类与类之间访问
2.学生何老师管理系统实战(需要建立的类)
3.学生管理系统环境搭建(以及架构层详解)
1.Model层(model层=entity层):又叫实体类,存放我们的实体类,与数据库中的属性值基本保持一致。model在三层架构中的位置,和int,string等变量的地位就一样了,没有其它的目的,仅用于数据的存储而已,只不过它存储的是复杂的数据。
与Model层下相关的知识点:
一.BaseModel的创建和使用(基类)
ios开发中数据处理和视图有许多重复使用的地方, 基类的使用可以有效的避免每次都写, 把重复的东西写到基类中, 正常创建的Molde类只需要继承基类即可, 这样有效的提高编码速度和代码质量, 基类还包括其他(BaseController, BaseView)等, 本文以BaseModel数据部分的基类为例。BaseModel可以将主键创建时间等之类的东西放入里面,方便。
二…Java 之 Serializable概念
a.什么叫序列化:把对象转换为字节序列的过程称为对象的序列化。有些信息我们想让他持久的保存起来,那么这个就叫序列化。
就是把内存里面的这些对象给变成一连串的字节(bytes)描述的过程。
b.作用,为啥要实现这个 Serializable 接口,也就是为啥要序列化,序列化能把堆内存中的对象的生命周期延长,做持久化操作.当下次再需要这个对象的时候,我们不用new了,直接从硬盘中读取就可以了.(存储到硬盘是一个文件,不需要我们去解析,如果用记事本打开解析会出现乱码,解析要用特定的方式,不用我们管. 我们只需要读取). 把对象存储到硬盘上的一个文件中,这个文件的标准扩展名是(.object).
c.serialVersionUID 这个的值到底是在怎么设置的,有什么用,有的是1L,有的是一长串数字,实现这个Serializable 接口的时候,一定要给这个 serialVersionUID 赋值,可以简单的赋值个 1L
private static final long serialVersionUID = 1L;
2.Controller层:控制层,负责具体模块的业务流程控制,需要调用service逻辑设计层的接口来控制业务流程。因为service中的方法是我们使用到的,controller通过接收前端H5或者App传过来的参数进行业务操作,再将处理结果返回到前端。
3.Service层:业务service层,给controller层的类提供接口进行调用。一般就是自己写的方法封装起来,就是声明一下,具体实现在serviceImpl中。
存放业务逻辑处理,也是一些关于数据库处理的操作,但不是直接和数据库打交道,他有接口还有接口的实现方法,在接口的实现方 法中需要导入mapper层,mapper层是直接跟数据库打交道的,他也是个接口,只有方法名字,具体实现在mapper.xml文件里,service是供我们使用的方法。
在实际开发中的Service层可能被处理为实体Service层,而不是接口,业务逻辑直接写在Service(Class,不是Interface)层中,Controller直接调用Service,Service调用Mapper。
当然了,Service之间也是可以互相调用!
service层IUserService和UserServiceImpl的创建使用,service层需要继承IService,当然实现层也要继承对应的实现类。
public interface UserService extends IService<User> {
}
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
}
4.Mapper层(mapper层=dao层): 对数据库进行数据持久化操作,他的方法语句是直接针对数据库操作的,主要实现一些增删改查操作,在mybatis中方法主要与xxx.xml内相互一一映射。现在用mybatis逆向工程生成的mapper层,其实就是dao层。对数据库进行数据持久化操作,他的方法语句是直接针对数据库操作的,而service层是针对我们controller,也就是针对我们使用者。service的impl是把mapper和service进行整合的文件。Mapper层要去继承BaseMapper
4.Ststic关键字(以及注意事项)
5.学生管理系统代码实现逻辑(后续代码会在码云更新)
1.添加
2.查看
3.删除
4.修改
代码优化
1.判断学号是否重复
2.获取索引
public int getIndex(String id) {
int index = -1;
for (int i = 0; i < suts.length; i++) {
Student stu = suts[i];
if (stu != null && stu.getId().equals(id)) {
index = i;
break;
}
}
return index;
}