springboot整合MyBatis-Plus
springboot整合使用mybatis-plus
1.使用启动器
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.1</version> </dependency>
2. Spring Boot 启动类中添加 @MapperScan
注解,扫描 Mapper 文件夹:
3.写实体类,定义mapper接口
我们使用mybatis-plus要继承BaseMapper接口。简单的增删改查我们就可以直接不用写mapper对应的实现xml配置了。
注意使用BaseMapper的时候的泛型
@Mapper
public interface UserMapper extends BaseMapper<User> { }
测试代码:
@Autowired UserMapper userMapper; @Test void showUser(){ User user = userMapper.selectById(1L); System.out.println(user); }
当我们测试的时候,如果有不是在数据库表中的字段时候,使用默认的BaseMapper方法会报错。我们需要把实体类中不是表列中的字段用注解处理掉
我们使用@TableField(exist = false)表示这个字段在表里不存在
@Data @AllArgsConstructor @NoArgsConstructor public class User { @TableField(exist = false) private String userName; @TableField(exist = false) private String password; private Long id; private String name; private Integer age; private String email; }
mybatis-plus不仅仅可以使用BaseMapper简化我们的数据库操作,而且他还提供了service层的一些东西,可以简化我们的操作
正常我们service层的操作也是先写一个service的接口,再写实现类去实现service接口
Mybatis-Plus在service层提供了个接口,叫 IService
这个IService接口注意泛型 是我们查询的Bean中实体类的的名字
public interface UserService extends IService<User> { }
继承了IService接口的基本Service接口的实现,Mybatis-Plus给我们提供了很多方法,就不用我们去手动写增删改查以及分页等等了
实现service层的serviceImpl实现类我们要继承ServiceImpl接口,这个接口的泛型参数有2个,第一个是我们的Mapper,第二个是我们实体类Bean的类名
package com.example.adminproject.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.adminproject.Bean.User;
import com.example.adminproject.Mapper.UserMapper;
import com.example.adminproject.service.UserService;
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService { }
简单看一下这个实现ServiceImpl类的serviceimpl 实现类可以实现哪些功能。很多功能就不用写了!!
我们在Controller层用service接口去实现视图跳转!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!