网站的流程简单梳理
一、假设
前端服务器地址为localhost,端口8080
后端服务器地址为localhost,端口9090
前端nginx+vue,后端java+springboot(tomcat)
二、访问过程
1.访问网址localhost:8080,前端服务器nginx监听到8080端口有请求,根据配置文件访问/请求匹配根路径下的网页,则找到根路径www文件夹中的index.html(该页面由vue生成的单页文件)
2.开始走index.html前端网站逻辑,如vue路由发现请求是访问/,则展示主页。点击登陆则通过vue路由/login跳转展示登陆页面展示。
3.这时候输入账号密码点击登陆按钮,则通过axios发送请求和参数到后端localhost:9090/login
4.后端服务器tomcat监听到9090端口有请求,开始走后端处理逻辑,通过请求路径如/login匹配到controller,controller中拿到参数交给service进行处理,service处理好后调用mapper进行数据库操作,得到返回结果,将返回结果给service进行处理,得到优化结果,将优化结果给controller进行返回到前端。
5.前端接收到返回结果,展示到页面上
)
——————————————————-
mapper接口定义方法规则,如传什么,返回什么
1.xml定义sql语句,通过mapper接口调用如show方法时,去xml配置中找到对应show的部分,执行对应里面的sql语句
2.给接口加上@mapper注解,并且在接口方法上使用对应如@select(“select * from xxx”),编译时会自动生成对应实现类。其实拆开就是,mapper定义了方法和规则,mapperimpl则是实现类,实现类中有具体执行的sql语句,哪个实现类加了@mapper,则通过接口调用的时候就执行哪个实现类
service接口定义方法规则,如传什么,返回什么
serviceimpl实现具体方法
1.给serviceimpl加上@service注解,,哪个实现类加了@service,则通过接口调用的时候就执行哪个实现类
如controller中,注入了service接口,通过接口调用show方法,则找到对应实现类中带@service的serviceimpl执行,在serviceimpl中,注入了mapper接口,通过mapper接口调用查询所有方法,则找到对应实现类加了@mapper注解的执行,执行里面的sql语句后返回结果
———————————
mybatisplus
mapper接口继承basemapper,把对应的实体类给basemapper,这样basemapper里的sql占位符就能根据实体类确定下来,如实体类有name和price,那么basemapper里的查询sql就能拼接成成查数据库的name和mapper,返回实体类类型的数据,mapper接口继承就能调
service接口继承iservice,把对应的mapper和实体类给iservice,这样iservice里的方法泛型就能根据mapper和实体类确定下来,如iservice里的