mybatis plus where 条件中 查询 int类型数据 不为空且不等于0
时间: 2023-11-22 08:57:02 浏览: 45
可以使用 MyBatis Plus 的 Lambda 表达式来实现这个条件查询,示例代码如下:
```java
QueryWrapper<Entity> wrapper = new QueryWrapper<>();
wrapper.lambda().isNotNull(Entity::getIntValue).ne(Entity::getIntValue, 0);
List<Entity> list = entityMapper.selectList(wrapper);
```
其中,`Entity` 是实体类,`getIntValue()` 是实体类中的 `int` 类型字段的 getter 方法。`QueryWrapper` 是 MyBatis Plus 提供的查询条件构造器,`lambda()` 方法返回一个 LambdaQueryWrapper 对象,可以通过它来使用 Lambda 表达式构建查询条件。`isNotNull` 方法表示该字段不为 null,`ne` 方法表示该字段不等于指定的值。最后通过 `selectList` 方法执行查询并返回结果。
相关问题
mybatis plus 查询上月数据
使用Mybatis Plus查询上个月的数据,可以使用以下SQL语句:
```java
@Select("SELECT COUNT(*) FROM wt_task_user WHERE PERIOD_DIFF(date_format(NOW(),'%Y%m' ),date_format( create_at,'%Y%m')) =1")
int countLastMonthData();
```
这个SQL语句中,我们使用了`date_format`函数来格式化日期,并使用`NOW()`函数获取当前日期。然后,我们使用`PERIOD_DIFF`函数来计算当前日期和数据表中的日期之间的月份差。如果月份差为1,说明数据是上个月的数据。最后,我们使用`COUNT(*)`来统计符合条件的数据的数量。\[1\]\[2\]
#### 引用[.reference_title]
- *1* *3* [MybatisPlus的QueryWrapper查询操作关键词,当月数据,上月数据](https://blog.csdn.net/fghag888/article/details/125924293)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [mybatis plus查询上个月和本月的数据](https://blog.csdn.net/weixin_35749796/article/details/129585184)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
mybatis-plus实体类添加了一个int对象为什么会直接放到sql查询条件里
MyBatis-Plus是一个基于MyBatis的优化增强工具,它提供了一些便捷的方法和功能来简化数据库操作。当你在实类中添加了一个int对象,并且使用该对象作为查询条件时,MyBatis-Plus会将该字段默认作为查询条件的一部分。
这是因为MyBatis-Plus根据对象的属性来生成SQL语句,如果你在实体类中定义了一个int类型的属性,并且在查询时将该属性赋值,MyBatis-Plus会将该属性自动添加到生成的SQL语句的WHERE条件中。
如果你不想将该属性作为查询条件,可以使用MyBatis-Plus提供的注解来进行设置。比如,使用`@TableField(exist = false)`注解来告诉MyBatis-Plus该字段不是数据库表中的列,不需要作为查询条件。
示例代码如下:
```java
public class User {
private Long id;
private String name;
@TableField(exist = false)
private int age;
// getter and setter
}
```
这样配置后,MyBatis-Plus在生成SQL语句时会忽略age字段,并且不将其作为查询条件。