MyBatis-Plus_实体作为条件构造器构造方法的参数

查询专栏:MP默认查询原则
查询的是数据库列名非实体类属性。
实体作为条件构造器构造方法的参数

文章目录

/*** 1.传递的参数如果是实体类* <p>* 注:这种情况传递过来的参数是等值的也就是=* 如果不想等值,例如:like '条件'* 在实体类中,需要处理属性的上面添加@TableField(condition ="%s&lt;#{%s}")* <p>* 里面的condition,可以采用已经有的栗子,如果没有符合你需求的,* 可以参考SqlCondition(比较条件常量定义类)它的形式,仿写除符合自己需求的condition* <p>* 例如:age 小于 条件* age < '传过来的条件'** @TableField(condition ="%s&lt,#{%s}")* age*/@Testpublic void selectByWrapperEntity() {User whereUser = new User();whereUser.setName("刘雨红");whereUser.setAge(32);QueryWrapper<User> queryWrapper = new QueryWrapper<User>(whereUser);List<User> userList = userMapper.selectList(queryWrapper);userList.forEach(System.out::println);}/*sql形式:SELECT id,name,age,email,manager_id,create_time FROM user WHERE name=? AND age=?不等值的sql:SELECT id,name,age,email,manager_id,create_time FROM user WHERE name LIKE CONCAT('%',?,'%') AND age<?*/
    /*** 2.传递的参数如果是实体类和参数条件同时存在,这种情况互不影响,条件都会拼接在where后边* <p>* 注意:不要重复了*/@Testpublic void selectByWrapperEntity2() {User whereUser = new User();whereUser.setName("刘雨红");whereUser.setAge(32);QueryWrapper<User> queryWrapper = new QueryWrapper<>(whereUser);queryWrapper.like("name", "雨").lt("age", 40);List<User> userList = userMapper.selectList(queryWrapper);userList.forEach(System.out::println);}/*sql形式:SELECT id,name,age,email,manager_id,create_time FROM userWHERE name=? AND age=? AND name LIKE ? AND age < ?*/

实体类:

@Data
public class User {// 主键private Long id;//姓名@TableField(condition = SqlCondition.LIKE)private String name;//年龄@TableField(condition ="%s&lt;#{%s}")private Integer age;//邮箱private String email;// 上级idprivate Long manager_id;//创建时间private LocalDateTime createTime;
}

参考SqlCondition类的源码,自定义符合自己需求的表达式

/*** SQL 比较条件常量定义类** @author hubin* @since 2018-01-05*/
public class SqlCondition {/*** 等于*/public static final String EQUAL = "%s=#{%s}";/*** 不等于*/public static final String NOT_EQUAL = "%s&lt;&gt;#{%s}";/*** % 两边 %*/public static final String LIKE = "%s LIKE CONCAT('%%',#{%s},'%%')";/*** % 左*/public static final String LIKE_LEFT = "%s LIKE CONCAT('%%',#{%s})";/*** 右 %*/public static final String LIKE_RIGHT = "%s LIKE CONCAT(#{%s},'%%')";}

想学习更多微服务、分布式、中间件、数据库、项目快速构建等系列技术
请访问http://gblfy.com
让我们一起进步!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/523846.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《基于概率预测与随机响应面法的新能源孤岛配电网实时风险评估与调控策略》

这个标题涉及到新能源孤岛配电网的实时风险评估与调控策略&#xff0c;其中使用了概率预测和随机响应面法。下面是对标题中各个要素的解读&#xff1a; 新能源孤岛配电网&#xff1a; 新能源&#xff1a; 指的是可再生能源&#xff0c;如太阳能、风能等&#xff0c;与传统的化石…

Open Infrastructure开启开放协作新时代

戳蓝字“CSDN云计算”关注我们哦&#xff01;技术头条&#xff1a;干货、简洁、多维全面。更多云计算精华知识尽在眼前&#xff0c;get要点、solve难题&#xff0c;统统不在话下&#xff01;在丹佛举办的Open Infrastructure Summit大会的Keynote演讲中&#xff0c;OpenStack基…

Qt中绑定信号槽之后,信号槽无效

下面程序编译没有错误&#xff0c;运行却未达到想要的效果&#xff0c;最后调试发现&#xff0c;是信号槽绑定后无效&#xff0c;即槽函数没有受到信号的触发。具体代码如下&#xff1a; main.cpp #include <QtCore> #include "controller.h" #include "…

MyBatis-Plus_查询返回实体对象还是map?

在常见场景下&#xff1a;返回数据建议使用map&#xff0c;不建议使用实体对象 /*** 1. 名字包含雨并且年龄小于40* sql&#xff1a;name like %雨% and age < 40* <p>* 应用场景&#xff1a;* 当表字段非常多&#xff0c;但是你只需要查询少数几列,* 没必要返回的泛型…

图解分布式架构的发展和演进 | 技术头条

戳蓝字“CSDN云计算”关注我们哦&#xff01;技术头条&#xff1a;干货、简洁、多维全面。更多云计算精华知识尽在眼前&#xff0c;get要点、solve难题&#xff0c;统统不在话下&#xff01;编注: 架构决定的系统的稳定性&#xff0c;扩展性和并发性&#xff0c;架构的演进是从…

qt中颜色对话框弹出时应用程序输出栏出现QWindowsWindow::setGeometry: Unable to set geometry 180x30+345+311 (frame: 202x8

引言 在项目中点击按钮&#xff0c;弹出颜色选择对话框&#xff0c;但同时应用程序会在应用程序输出一栏中显示 QWindowsWindow::setGeometry: Unable to set geometry 180x30345311 (frame: 202x86334266) on QWidgetWindow/"QColorDialogClassWindow" on "\…

MyBatis-Plus_LambdaQueryWrapper

查询专栏&#xff1a;建议使用LambdaQueryWrapper&#xff0c;防误写 /*** 这样写的好处防误写*/Testpublic void selectLambda() { // LambdaQueryWrapper<User> lambda new QueryWrapper<User>().lambda(); // LambdaQueryWrapper<User> lambdaQuer…

Hadoop精华问答 | 如何设置单个任务占用的内存量和CPU数目?

我们很荣幸能够见证Hadoop十年从无到有&#xff0c;再到称王。感动于技术的日新月异时&#xff0c;让我们再来看看关于Hadoop的精华问答。1Q&#xff1a;默认情况下&#xff0c;各个节点的负载不均衡&#xff08;任务数目不同&#xff09;&#xff0c;有的节点很多任务在跑&…

MyBatis-Plus_自定义sql

查询专栏&#xff1a;自定义查询sql 文章目录1. 在mapper接口中定义接口2. 在xml文件中书写sql3. 全局配置3.1 配置xml的位置3.2 配置实体类的位置4. 在实体类中测试5. 控制台输出1. 在mapper接口中定义接口 /*** 查询所有 有条件会自动拼接在where 后边当条件 单表操作** pa…

qt中下拉列表使用函数setCurrentText()设置当前显示值不能设置成功

解决方法 下拉列表设置当前显示的值&#xff0c;没有设置成功&#xff0c;是因为还需在设置前要设置下拉列表的可编辑属性为true&#xff0c;否则直接使用 函数setCurrentText&#xff08;&#xff09;设置不能成功。 const QString & strDefultSid m_sidStrList[0];//字…

Gartner:PaaS 和平台架构领域的 4 大趋势 | 技术头条

戳蓝字“CSDN云计算”关注我们哦&#xff01;技术头条&#xff1a;干货、简洁、多维全面。更多云计算精华知识尽在眼前&#xff0c;get要点、solve难题&#xff0c;统统不在话下&#xff01;Gartner公司已列出了2019年及以后影响平台即服务&#xff08;PaaS&#xff09;技术和平…

MyBatis-Plus_分页查询

查询专栏&#xff1a;myabtis 实现的分页为什么还要分页插件&#xff1f; 文章目录1. 创建分页插件2. 测试分页3. 自定义分页4. 测试自定义分页方法5. 控制台输出6. 多表操作1. 创建分页插件 Configuration public class MybatisPlusConfig {Beanpublic PaginationInterceptor…

qt设置滚动区域的滚动条的样式

引言 当窗口的控件太多&#xff0c;不能一下完全显示&#xff0c;就可以采用滚动区域来添加控件&#xff0c;这样添加的控件&#xff0c;可以通过滑动滚动区域的滚动条来浏览所有的控件。下面就大致记录一下滚动区域的滚动条的样式怎么设置。 实现 直接上设置滚动区域的滚动…

MyBatis-Plus_更新操作

查询专栏&#xff1a;MP默认查询原则 查询的是数据库列名非实体类属性 文章目录Component public class UserMapperUpdateTest extends MybatisPlusSamplesChapter1ApplicationTests {Resourceprivate UserMapper userMapper;Testpublic void updateById(){User user new User…

什么叫云原生应用?| 技术头条

戳蓝字“CSDN云计算”关注我们哦&#xff01;技术头条&#xff1a;干货、简洁、多维全面。更多云计算精华知识尽在眼前&#xff0c;get要点、solve难题&#xff0c;统统不在话下&#xff01;作者&#xff1a;吕建伟转自&#xff1a;阿朱说&#xff08;1&#xff09;从Function到…

qt中设置父窗口中某一控件样式后,子窗口中某一控件也随父控件样式

引言 创建的窗口中含有滚动区域&#xff0c;滚动区域创建了很多按钮&#xff0c;点击按钮后弹出一个弹框&#xff0c;当设置了滚动区域的中心窗口的背景样式后&#xff0c;之前设置好的点击后按钮弹出框的背景样式也跟随着变化了。 方法 究其原因是因为滚动区域的窗口与点击…

MyBatis-Plus_删除操作

删除专栏 文章目录Component public class UserMapperDelTest extends MybatisPlusSamplesChapter1ApplicationTests {Resourceprivate UserMapper userMapper;/*** 根据 ID 删除*/Testpublic void delById() {int rows userMapper.deleteById(1094592041087729666L);System.o…

拙见之drawPath()与fillPath

阐述 此文仅记录标题中说的函数drawPath与fillPath的一点区别。 编写项目的过程中发现drawPath可以根据对画笔和画刷的设置&#xff0c;所绘制的图形含有边框和内部填充颜色&#xff0c;而fillPath即使设置了画笔和画刷的颜色&#xff0c;只会在绘制的图形中填充颜色&#xff…

MyBatis-Plus_AR 模式

查询专栏&#xff1a;MP默认查询原则 查询的是数据库列名非实体类属性 文章目录AR 模式1. 实体类对象继承Model2. 接口服务类继承baseMapper接口3. 测试ARAR 模式 1. 实体类对象继承Model EqualsAndHashCode(callSuper false) Data public class User extends Model<User…

500位开发者要在杭州搞事情!CTA峰会嘉宾全阵容揭秘

戳蓝字“CSDN云计算”关注我们哦&#xff01;扫描二维码&#xff0c;立享折扣。5 月 26 日- 5 月 27 日&#xff0c;由中国 IT 社区 CSDN 与数字经济人才发展中心联合主办的第一届 CTA 核心技术及应用峰会将在杭州国际博览中心召开。首届 CTA 核心技术及应用峰会将围绕人工智能…