>MyBatisPlus——条件构造器之select
在MP查询中,默认查询所有的字段,如果有需要也可以通过select方法进行指定字段
细节
使用select进行sql语句拼接时,不会识别在实体类中属性对应的操作。
当数据库表中的字段名与实体类对象属性名不一致时
>Mybatis-Plus根据条件更新(条件构造器)
在 Mybatis-Plus 项目中,很多时候需要根据条件更新特定的数据行,这时候可以使用到提供的 update() 方法。
下面以 PostCategories 对象为例简单演示下使用的方法。
1、创建对象并填入要更新的字段数据
例如更新 homePage 字段值为 false
PostCategories updateMessage = new PostCategories();
updateMessage.setHomePage(false);
2、创建条件构造器和查询条件
new QueryWrapper() 为条件构造器;
eq(“homePage”, true) 即是查询条件: where homePage = true,条件根据需要添加。
postCategoriesMapper.update(updateMessage, new QueryWrapper<PostCategories>().eq("homePage", true));
3、查看打印的sql语句
这样就达到了条件更新的目的。
特别注意:
1.使用这种方式,会覆盖掉原本update方法的特性,比如自动根据ID比对数据进行修改,这里一定注意加上ID判断(该有的所有判断),具体请看错误实例一:
2.传进条件构造器里边的column(字段名字),是数据库里边的字段名字,就是这个传进条件构造器里的字段名字,会被直接拼接到SQL里边,如果写实体类名字,就会报错,具体看错误实例二:
4.错误的实例:
这里没有在条件构造器里塞入 id值 判断 , 如此以来,mybatisPlus就不会在条件的地方拼接 id判断
@Override
public int update(AlarmInformVO vo) {
AlarmInform alarmInform = voToEntity(vo);
int i = alarmInformMapper.update(alarmInform,
new QueryWrapper<AlarmInform>().eq("valid", 0))