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

MyBatisPlus进阶版

1.映射

1.1自动映射

【1】表名和实体类名映射 -> 表名user   实体类名User

【2】字段名和实体类属性名映射 -> 字段名name   实体类属性名name

【3】字段名下划线命名方式和实体类属性小驼峰命名方式映射 ->

字段名 user_email   实体类属性名 userEmail

MybatisPlus支持这种映射规则,可以通过配置来设置

map-underscore-to-camel-case: true 表示支持下划线到驼峰的映射

map-underscore-to-camel-case: false 表示不支持下划线到驼峰的映射
mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImplmap-underscore-to-camel-case: true

1.2表映射

通过@TableName()注解指定映射的数据库表名,就会按照指定的表名进行映射

如:此时将数据库的表名改为powershop_user,要完成表名和实体类名的映射,需要将实体类名也要指定为powershop_user

1.3字段映射

【1】当数据库字段和表实体类的属性不一致时,我们可以使用@TableField()注解改变字段和属性的映射,让注解中的名称和表字段保持一致
如:此时将数据库字段的名称我们改为username,在根据实体类的属性拼接SQL的使用,就会使用@TableField()中指定的名称username进行拼接,完成查询

2.条件构造器

之前我们进行的MybatisPlus的操作,没有涉及到条件查询,实际上在开发需求中条件查询是非常普遍的。接下来我们就来讲解如何使用MybatisPlus完成条件查询。

首先,想要使用MybatisPlus完成条件查询,基于面向对象的思想,万物皆对象,那么查询条件也需要使用对象来完成封装。我们先看一下,在MybatisPlus中,和条件有关的类有哪些,他们之间有什么关系,理清楚了这个,我们在传递条件对象的时候,就很清晰了。

  1. QueryWrapper

AbstractWrapper的子类,如果我们需要传递String类型的字段信息,创建该对象

//1.创建QueryWrapper对象QueryWrapper<User> queryWrapper = new QueryWrapper<>();//2.设置条件,指定String字段名称和值queryWrapper.eq("name","louie");//3.使用条件完成查询User user = userMapper.selectOne(queryWrapper);

2.LambdaQueryWrapper

AbstractLambdaWrapper的子类,如果我们需要传递方法引用方式的字段信息,创建

 LambdaQueryWrapper<BookInfo> lambdaQueryWrapper = new LambdaQueryWrapper<>();lambdaQueryWrapper.eq(BookInfo::getId,1);BookInfo one = bookInfoService.getOne(lambdaQueryWrapper);

3.查询

3.1等值查询

@Test
void eq(){//1.创建QueryWrapper对象QueryWrapper<User> queryWrapper = new QueryWrapper<>();//2.设置条件,指定String字段名称和值queryWrapper.eq("name","Jack");//3.使用条件完成查询User user = userMapper.selectOne(queryWrapper);System.out.println(user);
}

eq

allEq条件查询

ne

3.2范围查询

gt

ge

It

le

between

notBetween

3.3模糊查询

like

notLike

likeLeft

likeRight

http://www.lryc.cn/news/136672.html

相关文章:

  • 安防视频云平台EasyNVR视频汇聚平台硬件无法进入服务器的问题处理方法
  • 流媒体内容分发终极解决方案:当融合CDN与P2P视频交付结合
  • 根据源码,模拟实现 RabbitMQ - 内存数据管理(4)
  • Apache Flume架构和原理
  • 代码随想录算法训练营day38 | LeetCode 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯
  • Linux基本指令【下】
  • 向量检索:基于ResNet预训练模型构建以图搜图系统
  • SpringBoot 响应头添加版本号、打包项目后缀添加版本号和时间
  • 优化指南:带宽限制的可行策略
  • 计算机提示mfc120u.dll缺失(找不到)怎么解决
  • Java基于SpringBoot+Vue实现酒店客房管理系统(2.0 版本)
  • 微服务架构2.0--云原生时代
  • C++day2作业(2023.8.22)
  • 在 Spring Boot 中使用 OpenAI ChatGPT API
  • 【leetcode】225.用队列实现栈
  • 机器学习中XGBoost算法调参技巧
  • 第1章:计算机网络体系结构
  • 【Java 动态数据统计图】动态数据统计思路Demo(动态,排序,containsKey)三(115)
  • 【游戏评测】河洛群侠传一周目玩后感
  • java新特性之Lambda表达式
  • 【考研数学】线形代数第三章——向量 | 2)向量组相关性与线性表示的性质,向量组的等价、极大线性无关组与秩
  • Java中调用Linux脚本
  • Nexus 如何配置 Python 的私有仓库
  • Maven 配置文件修改及导入第三方jar包
  • jmeter CSV 数据文件设置
  • 【SA8295P 源码分析】20 - GVM Android Kernel NFS Support 配置
  • c++都补了c语言哪些坑?
  • 【C语言】C语言用数组算平均数,并输出大于平均数的数
  • 「UG/NX」Block UI 体收集器BodyCollector
  • 金九银十面试题之《JVM》