mybatis plus where 条件中 查询 int类型数据 不为空且不等于0
时间: 2023-11-22 15:57:02 浏览: 133
可以使用 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 注解
MyBatis Plus是一个基于MyBatis的ORM(Object-Relational Mapping)框架增强工具,它提供了一系列便捷的注解,使得开发者能够更快速、简洁地操作数据库。以下是一些常用的MyBatis Plus注解:
1. **@Table**: 它用于标注实体类所对应的数据库表名,例如 `@Table("users")`。
2. **@AutoMapping**: 自动映射实体到数据库表字段,当实体类的字段与数据库列名称一致时,可以省略该注解。
3. **@Id**: 标注主键,MyBatis Plus会自动生成对应的增删改查操作,如 `@Id("id") @GeneratedValue(strategy = GenerationType.IDENTITY)`
4. **@Field**: 可以自定义字段名,如 `@Field("real_name") private String name;`
5. **@Select**: 定义查询语句,可以简化原生的SQL查询编写,比如 `@Select("SELECT * FROM users WHERE id = #{id}") User getUserById(@Param("id") Long id);`
6. **@Insert**: 插入数据,支持批量插入 `@Insert("INSERT INTO users(name, age) VALUES(#{name}, #{age})") List<User> insertUsers(List<User> users);`
7. **@Update**: 更新数据,支持更新部分字段 `@Update("UPDATE users SET name=#{name} WHERE id=#{id}") int updateUser(User user);`
8. **@Delete**: 删除数据 `@Delete("DELETE FROM users WHERE id=#{id}") int deleteUser(Long id);`
9. **@Mapper**: 标注接口,告诉MyBatis Plus这是一个持久层接口,需要扫描并注册。
通过这些注解,MyBatis Plus极大地提高了开发效率。使用时,结合XML配置文件和注解的灵活性,可以使数据库操作更为简便。
阅读全文