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接口去实现视图跳转!!

  

 

 

 

 

  

posted @   qwedfrgh  阅读(244)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示