688
社区成员
发帖
与我相关
我的任务
分享首先在pom文件中引入于springboot和mybaits有关的依赖,这是使用他们的前提

本次项目中,为了减少对单表操作的代码量,直接使用了mybaitsPlus内置的对于单表的操作,具体流程为创建一个实体类所对应的mapper接口并继承于BaseMapper后,使用注解标识为mapper,便可以直接对该在数据库中维护该实体类。在涉及到多表操作时,需要自己使用注解并编写sql语句。


在这一部分中,主要是编写controller类和service类,在controller类中使用请求映射注解将来自客户端的请求映射到需要执行的方法,并返回相应的数据,需要注意的是,controller类中的方法一般不会涉及到具体实现的业务逻辑,具体的实现应交由service实现类来完成。

至于service类中,一般是补充实现业务逻辑,这一过程主要是调用之前的mapper接口,来与数据库进行交互

(省略了最开始的配置配置文件、引入依赖以及定义数据库表和数据模型)

在使用过程中碰到了许许多多的问题,下列列举3个

解决过程,在springboot中,因为它自动配置了文件,不用像spring那样,还要到上下文配置文件中查找是否时配置文件的问题,当时我仅在相应的提示无法找到bean对象的类中添加上了@Mapper注解或者@Service注解解决了问题
问题描述:当时使用了myabaitsPlus自带的对单表的查询方法,但是总是报错,说存在mysql的语法错误,但可以肯定的是自动编写的语句并没有错误。
解决过程:查阅资料后得知,mybatis等orm框架通常会SQL 语句和 Java 对象进行映射,如果 Java 对象中的属性名和 MySQL 中的关键字相同,就会导致语法错误。具体的解决措施是使用反引号括住要进行操作的属性的名字
SELECT `name`, `count` FROM `user` WHERE `group` = 'admin';
问题描述:在使用postman等测试工具进行测试时,发现返回结果对不上,调试后发现,方法接收到的参数为空,但是在使用测试工具时,的确传递了参数
解决过程:正确使用 @RequestBody 和 @PathVariable 这两个注解后解决了问题,@RequestBody 注解用于将 HTTP 请求的请求体转换为 Java 对象,通常与Post或Put等方法结合使用,不应试图在请求url中添加参数类映射。@PathVariable 注解才是用于将 URL 中的路径变量映射到方法的参数上,要与Get方法结合使用。

经过这学期的软工实践,我接触并入门了springboot和mybatis这两种技术,在为学习到新技术而高兴的同时也不由得感慨自己接触这两门技术得是否太晚了,对此我感到压力山大,但种一棵树最好的时间最好是十年前,其次便是现在。我希望自己在本科中已所剩不多的时间内,继续深入学习springboot和mybatis,让自己真正的掌握到这门技术,对各种方法的实现信手拈来,对于aop,ioc,缓存等概念也有更进一步的理解。而不是在一边学一边补天(连一个基本的分页查询都要写半天)。
《javaee企业级应用》
许多问题都是通过和chartgpt对话而解决