当前位置: 首页 > 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也没看

相关文章:

  • 计算机网络 : 应用层自定义协议与序列化
  • 2894. 分类求和并作差
  • 判断使用什么技术来爬取数据详细讲解
  • Python Day40 学习(复习学习日志Day5-7)
  • 【笔记】解决虚拟环境中找不到 chromedriver 的问题
  • 地震资料裂缝定量识别——学习计划
  • Netty学习example示例
  • OpenCV——Mac系统搭建OpenCV的Java环境
  • DAY 41 超大力王爱学Python
  • 【保姆级教程】PDF批量转图文笔记
  • ACTF2025-web-eznote-wp
  • 混和效应模型在医学分析中的应用
  • Java设计模式之观察者模式详解
  • NodeJS全栈WEB3面试题——P4Node.js后端集成 服务端设计
  • 《深度探索C++对象模型》阅读笔记(完整版)
  • 网络攻防技术二:密码学分析
  • Unity + HybirdCLR热更新 入门篇
  • MySQL日志
  • Rust 变量与可变性
  • android binder(1)基本原理
  • 定制网站开发多少钱/掉发脱发严重是什么原因
  • django开发的公司网站/google关键词分析
  • 武汉网站制作 费用/外贸推广有哪些好的方式
  • 汾阳做网站/东莞推广服务
  • 网站平台建设项目书/百度贴吧官网app下载
  • 网站建设公司销售/帮收款的接单平台