作者就是一个简单的小白,刚入门Java编程不到一个月,就 被安排去做Java的开发项目了。公司使用的若依框架,然后我就先搞懂整个访问流程以及文件目录。
搞懂了以后就知道在什么文件夹里面写什么代码了。刚入Java坑,希望大家不要喷,小白一个
controller: 访问层(控制器),也是影响数据返回层,用户通过访问控制层 得到相关的响应信息。(简单里面:接口)--返回数据 和 PHP 一样的
domain: 实体类 vo类 定义请求参数与返回参数所定义的实体类(在数据表里面如需添加一个字段,那么这里也是需要定义一个字段 包括连表查询一样道理,就是类似Laravel框架的API资源)
mapper:数据访问层 ,类似model(模型)主要作用是与数据库交互,访问数据库,执行Sql文件。
service:(是一个接口 interface) 映射转发,映射到serivceImpl文件(service的实现类)中。
serivceImpl: 业务处理层 主要对业务进行处理 对返回数据做处理,对条件判断做处理等等。(继承接口interface 重写方法),调用相关的Mapper和数据库做交互
简单说一下 serivce 和 serivceImpl的关系,serivceImpl 是 serivce 实现类,serivce是接口定义方法,serivceImpl继承serivce并且对其中定义的接口方法进行重写
resources----mapper 里面的.xml文件:Sql语句文件,主要是和mapper做映射
访问过程
用户访问网站--> 发起请求http/https ----> controller -------->调用 service interface(接口) ---->(service映射实现类)ServiceImpl 处理业务逻辑 ----->(在 serviceImpL 层里调用) mapper,与数据库做交互
----->(根据定义的 id)自动映射 mapper.xml文件执行sql语句----> 原路返回结果
整个开发过程编写代码逻辑
首先 在controller里面定义一个方法先 public AjaxResult project(WkTrain wkTrain) ...
然后根据你需要 调用对应的 service 里面的方法(这个时候就要去 service里面定义相关方法 并且到 Impl里面对方法进行覆写)...
Impl重写的方法里面处理相关业务逻辑,需要调用 Mapper相关方法,这时候就是需要去Mapper文件里面定义方法了...
Mapper文件通过ID(可以理解为JQ的元素ID一样)进行映射
Mapper里面的方法名称和xml(sql文件)里面定义的方法要相同 因为是通过 ID 属性来映射的 ,mapper.xml文件 编写 <update id="incWkTrainVideoById"></update>(mybatis语法)sql语法