黑马java项目《瑞吉外卖》day2 遇到的问题及解决办法

今天完成了登录,成功登录主页面。

一、流程及问题

1、导入employee实体类,该类属性与数据库中employee表项一一对应

2、发现idea创建包无法分层:Option-TreeAppearance-CompactMiddelePackeages

3、创建Controller、Service、Mapper包和相应接口,继承Mybatis Plus提供的类,关系如下:

4、创建通用返回结果类,作为后端和前端信息的接口

5、在control创建登录方法

6、显示后端接口连接异常:在service的impl文件夹下的EmployeeServiceImpl中添加@service

7、报错信息 ERROR 14396 --- [reate-279544722] com.alibaba.druid.pool.DruidDataSource:

在application.yml文件中修改password

8、对登录方法进行调试,并成功登录

二、相关知识

1、MVC模式与Controller/Service/Mapper:

详情可见Java中代码各层级介绍(controller、service、mapper、dao等)_controller层,service层,mapper层-CSDN博客

1、dao(mapper)层:数据访问层

dao层属于一种比较底层,比较基础的操作,具体到对于某个表的增删改查,也就是说某个DAO一定是和数据库的某一张表一 一对应的,其中封装了增删改查基本操作,建议DAO只做原子操作,增删改查。

负责与数据库进行联络的一些任务都封装在此,dao层的设计首先是设计dao层的接口,然后在Spring的配置文件中定义此接口的实现类,然后就可以再模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰,dao层的数据源配置,以及有关数据库连接参数都在Spring配置文件中进行配置。

2、service层:服务层

你需要扩展的知识:基于Spring框架的应用:构建企业级应用的业务逻辑层

粗略的理解就是对一个或多个DAO进行的再次封装,封装成一个服务,所以这里也就不会是一个原子操作了,需要事物控制。

service层主要负责业务模块的应用逻辑应用设计。同样是首先设计接口,再设计其实现类,接着再Spring的配置文件中配置其实现的关联。这样我们就可以在应用中调用service接口来进行业务处理。service层的业务实,具体要调用已经定义的dao层接口,封装service层业务逻辑有利于通用的业务逻辑的独立性和重复利用性。程序显得非常简洁。

3、controller层

Controler负责请求转发,接受页面过来的参数,传给Service处理,接到返回值,再传给页面。

controller层负责具体的业务模块流程的控制,在此层要调用service层的接口来控制业务流程,控制的配置也同样是在Spring的配置文件里进行,针对具体的业务流程,会有不同的控制器。我们具体的设计过程可以将流程进行抽象归纳,设计出可以重复利用的子单元流程模块。这样不仅使程序结构变得清晰,也大大减少了代码量。

2、注解解释

1、@RestController

@RestController的作用等同于@Controller + @ResponseBody。

@Controller注解表明了这个类是一个控制器类,为了使该类成为处理器,除了@Controller注解还需要@RequestMapping。@RequestMapping注解是用来映射请求的,即指明处理器可以处理哪些URL请求,该注解既可以用在类上,也可以用在方法上。

@ResponseBody表示方法的返回值直接以指定的格式写入Http response body中,而不是解析为跳转路径。

2、@PostMapping

@PostMapping注解用来声明POST请求处理方法,通常与@RequestBody注解一起使用,后者可以将请求体中的数据绑定到一个Java对象上,方便处理POST请求中的数据。

3、LambdaQueryWrapper

LambdaQueryWrapper是mybatis plus中的一个条件构造器对象,只是是需要使用Lambda 语法使用 Wrapper。主要流程为创建一个LambdaQueryWrapper对象 -> 使用Lambda表达式或方法引用构造查询条件 -> 调用MyBatis-Plus提供的方法获取查询结果。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值