Dao层、pojo层、Service层、Controller层、view层、mapper、po、vo等
Dao层(持久层、数据访问层)
dao层属于一种比较底层,比较基础的操作,具体到对于某个表的增删改查,也就是说某个DAO一定是和数据库的某一张表一 一对应的,其中封装了增删改查基本操作。
Dao层用于定义方法接口,然后在service层和serviceimpl层实现接口的方法,从而达到操作数据库的目的。对数据库进行数据持久化操作,方法语句主要是针对数据库的,主要实现一些增删改查操作,在Mybatis中的方法主要与xx.xml内相互一一映射。
功能:只负责与数据库的数据进行交互,dao层是在Mybatis框架下通过@MyBatisDao连接后台代码与数据库的。@Repository用于标注数据访问组件Dao层。
service层:服务层
Service层叫服务层,被称为服务,粗略的理解就是对一个或多个DAO进行的再次封装,封装成一个服务,所以这里就需要事物控制,service层主要负责业务模块的应用逻辑应用设计,先设计接口,再设计其实现的类,接着再Spring的配置文件中配置其实现的关联。这样我们就可以在应用中调用Service接口来进行业务处理。Service层的业务实现,具体要调用到已定义的DAO层的接口,封装Service层的业务逻辑有利于通用的业务逻辑的独立性和重复利用性,程序显得非常简洁。
Controller层(控制层、action层)
功能:控制业务逻辑
Controler负责请求转发,接受页面过来的参数,传给Service处理,接到返回值,再传给页面。
Controller层负责具体的业务模块流程的控制,controller层主要调用Service层里面的接口控制具体的业务流程,控制的配置也需要在配置文件中进行。
Action是管理业务(Service)调度和管理跳转的。
Service是管理具体的功能的。
Action只负责管理,而Service负责实施。
总结:
DAO面向数据库表,Service面向业务。后端开发时先数据库设计出所有表,然后对每一张表设计出DAO层,然后根据具体的业务逻辑进一步封装DAO层成一个Service层,对外提供成一个服务。
view视图层:
此层与控制层结合比较紧密,需要二者结合起来协同工发。View层主要负责前台jsp页面的表示。
pojo层
POJO(Plain Old Java Object)是一个简单的Java对象,没有任何限制和框架,仅包含一些属性和访问这些属性的方法。在MyBatis中,POJO通常用于对应数据库中的表、视图等数据结构,承载着数据访问和业务实现中的数据操作逻辑。
在POJO层,通常需要定义与数据库表中字段对应的类属性,以及get/set方法来获取和设置属性值。对于字段类型不同的情况,也可以通过类型转换器来进行类型转换或值转换。POJO层可以看作是数据访问层和业务逻辑层之间的一个中间层,负责封装数据结构,并提供数据访问和数据操作的接口。
通过POJO层,可以实现数据库中的数据与Java对象的相互转换并进行业务逻辑的处理。MyBatis通过映射文件和注解方式,将Java对象映射为SQL语句,并通过底层的JDBC接口完成数据访问,最终将结果映射回Java对象中,达到数据持久化的效果。
在实际开发中,要注意POJO层的设计和规范,保证代码的可读性和可维护性。同时,可以利用反射机制、注解等技术,提高POJO层的开发效率和代码的质量。
简而言之:“Plain Ordinary Java Object”“简单java对象”。POJO的内在含义是指那些没有从任何类继承、也没有实现任何接口,更没有被其它框架侵入的java对象。
POJO与PO、VO的区别
PO是指持久对象(persistant object持久对象)。
VO是指值对象或者View对象(Value Object、View Object)。View Object。
持久对象实际上必须对应数据库中的entity(与数据库中的字段一致)
什么是 JavaBeans
JavaBeans 与 POJO 类似,但有一些严格的规则需要遵循。
规则规定它应该是可序列化的,具有空构造函数,并允许使用遵循 getX() 和 setX() 约定的方法访问变量。
两者有什么区别
- POJO其实是比javabean更纯净的简单类或接口。POJO严格地遵守简单对象的概念,而一些JavaBean中往往会封装一些简单逻辑。
- POJO主要用于数据的临时传递,它只能装载数据, 作为数据存储的载体,而不具有业务逻辑处理的能力。
- Javabean虽然数据的获取与POJO一样,但是javabean当中可以有其它的方法。