当前位置: 首页 > news >正文

mybatisplus的总结

 一.通用Mapper

1.首先创建一个接口与实体类

@Data
@TableName("user")
public class User {

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @TableField("name")
    private String name;

    @TableField("age")
    private Integer age;

    @TableField("email")
    private String email;
}

下面是接口需要继承BaseMapper<User>

@Mapper//也可以在启动类中通过@MapperScan进行扫描
public interface UserMapper extends BaseMapper<User> {
}

2.对数据库进行操作

@Autowired

private UserMapper userMapper;

通过UserMapper对象调用各种方法

第一种是调用Mybatis-plus自动创建的方法

第二种是通过xml文件创建自定义的sql语句

二.通用Service

1.创建Service接口

继承IService<User>,User是对应数据库的表名

public interface UserService extends IService<User> {
}

2.创建Service实现类

继承ServiceImpl<UserMapper,User>,第一个是User对应的mapper,第二 个是对应表名的实体类s

实现对应的service接口 UserService

@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
}

3.通过接口实例调用mybatisplus提供的方法

 @Autowired
    private UserService userService;

在yml中的相关配置

192.168.87.101:3306是主机的域名

lease是数据库名

username是数据库名字

password是数据库密码

最后别忘记springboot与mybatisplus不兼容问题

以及lombok的@Data不起作用的问题

总结;如果是自己手写sql则是通过通用Mapper实现

三.条件构造器

 1.QueryWrapper<表名> UpdateWrapper<表名>

例如:QueryWrapper<User>

 QueryWrapper<User> queryWrapper1 = new QueryWrapper<>();
        queryWrapper1.eq("name", "Tom");

eq代表相等的条件,

第一个参数代表表中的字段,第二个代表该字段要等于的值

还有很多方法就不一一描述了

2.LambadaQueryWrapper<表名>

其实跟上面的条件构造器一样,只不过获取字段是根据实体类的属性获取

 //查询name=Tom的所有用户tt
        LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper<>();
        lambdaQueryWrapper.eq(User::getName, "Tom");

然后将构造器放在查询语句的括号内作为条件进行查询

List<User> list = userService.list(lambdaQueryWrapper);

四.分页插件

需要增加一个配置类,否则无法使用

@Configuration
public class MPConfiguration {

    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        return interceptor;
    }
}

注意;如果不写该配置,那么就无法实现分页查询逻辑

curren 当前页

size 每页的数据条数

total查询数据列表的总记录数

@Autowired

        private FeeKeyMapper feekeyMapper;//

IPage<FeeKey> page = new Page<FeeKey>(2, 2);//创建分页查询对象,第一个参数是current,第二个是size
IPage<FeeKey> feeKeyIPage = feekeyMapper.selectPage(page, null);//
feeKeyIPage.getRecords().forEach(System.out::println);//打印出查询的对象

五.MyBatis插件,用于快速生成EntityMapperMapper.xmlServiceServiceImpl等代码,使用户更专注于业务。

1.安装插件

2.配置数据库连接

3.生成代码

4.配置包名类名等

注意;建议自己搜B站的相关教程,这里并不全面

六.对象存储服务*minio(免费)-可以使用阿里云的oss代替

总结;该项目主要是让我通过定义好的接口书写sql,技术不难,比较繁琐,redis几乎没有用到,用的最多的是mp,SpringMVC等,后面的nginx也没看

http://www.xdnf.cn/news/767827.html

相关文章:

  • 消除F/1噪声
  • Spring Boot 3.X 下Redis缓存的尝试(一):初步尝试
  • CSS 3D 变换中z-index失效问题
  • Ubuntu上进行VS Code的配置
  • 简单工厂模式
  • Spring Boot 3.X 下Redis缓存的尝试(二):自动注解实现自动化缓存操作
  • DeepSeek模型性能优化:从推理加速到资源调度的全栈实践
  • spring-boot接入websocket教程以及常见问题解决
  • 优化WP外贸建站提升用户体验
  • React 核心概念与生态系统
  • React 组件异常捕获机制详解
  • React---day6、7
  • Google机器学习实践指南(TensorFlow六大优化器)
  • 2025GDCPC广东省赛游记(附赛时代码)
  • 【Spring】RAG 知识库基础
  • Docker 镜像制作
  • 【Redis】Zset 有序集合
  • .net consul服务注册与发现
  • 描述性统计——让数据说话
  • Figma 与 Cursor 深度集成的完整解决方案
  • 【数据分析】第四章 pandas简介(1)
  • Caliper压力测试
  • mac安装brew时macos无法信任ruby的解决方法
  • 智慧零工平台后端开发实战:Spring Boot 3 + MyBatis-Flex 现代化架构
  • Linux中的mysql备份与恢复
  • Unity + HybirdCLR热更新 入门篇
  • GStreamer开发笔记(六):gstreamer基本概念:组件、箱柜、管道、衬垫、链接组件
  • 【端午安康】龙舟争渡Plug-In
  • 计算机组成原理核心剖析:CPU、存储、I/O 与总线系统全解
  • 空调清洗教程