建设网站企业运营,北京网页设计机构,做一个二手网站怎么做,深圳企业网站建设服务平台属性字段自动填充
一、实体类和数据表添加两个字段#xff08;属性#xff09;
表#xff1a;create_tiem/update_time 实体类#xff1a;createTime/updateTime
二、实体类中属性进行注解添加
TableField(fillFieldFill.INSERT)
private Date createTime;TableField(f…属性字段自动填充
一、实体类和数据表添加两个字段属性
表create_tiem/update_time 实体类createTime/updateTime
二、实体类中属性进行注解添加
TableField(fillFieldFill.INSERT)
private Date createTime;TableField(fillFieldFill.INSERT_UPDATE)
private Date updateTime;三、创建实现MetaObjectHandler接口的类并实现两个方法 一个方法添加执行另一个方法修改执行
Component
public class MyMetaObjectHandler implements MetaObjectHandler{Overridepublic void insertFill(MetaObject metaObject){this.setFieldValByName(createTime,new Date(),metaObject);}Overridepublic void updateFill(MetaObject metaObject){this.setFieldValByName(updateTime,new Date(),metaObject);}
}乐观锁
一、在表中添加version字段在实体类中添加version字段Integer
二、在实体类进行版本号操作属性上添加注解
Version
private Integer version;三、配置乐观锁插件
在启动类或者单独新建一个config包下创建一个配置类
Configuration
MapperScan(com.michael.mapper)
public class MpConfig{Beanpublic OptimisticLockerInterceptor optimisticLockerInterceptor(){return new OptimisticLockerInterceptor();}
}多个id批量查询
ListUser users userMapper.selectBatchIds(Arrays.asList(1,2,3));简单条件查询
MapString,Object columnMap new HashMap();
columnMap.put(name,Jack);
columnMap.put(age,20);ListUser users userMapper.selectByMap(columnMap);分页查询
①、配置分页插件配置类
Bean
public PaginationInterceptor paginationInterceptor(){return new PaginationInterceptor();
}②、编写分页代码插件Page对象传入两个对象当前页和每页记录数
PageUser page new Page(1,3);
PageUser userPage userMapper.selectPage(page,null);//第二个参数为条件long pages userPage.getPages();//总页数
long current userPage.getCurrent();//当前页
ListUser records userPage.getRecords();//查询数据集合
long tobal userPage.getTotal();//总记录数
boolean b userPage.hasNext(); //当前是否有下一页
boolean b1 userPage.hasPrevious();//当前是否有上一页逻辑删除
①、数据表添加一个字段boolean类型deleted实体类添加属性Integer类型deleted
TableLogic
private Integer deleted;②、application.properties配置文件中添加
以下配置为默认值所以该配置可无
mybatis-plus.global-config.db-config.logic-delete-value1
mybatis-plus.global-config.db-config.logic-not-delete-value0条件构造器 QueryWrapperUser queryWrapper new QueryWrapper();
queryWrapper.isNull(name).ge(age,12).isNotNull(email);//构造条件
int result userMapper.delete(queryWrapper);//条件查询分页
PostMapping(findPageHospSet/{current}/{limit})//参数当前页每页数量
public Result findPageHospSet(PathVariable long current,PathVariable long limit,RequestBody(requiredfalse) HospitalSetQueryVo hospitalSetQueryVo//通过json传递
){//创建page对象PageHospitalSet page new Page(current,limit);//构建条件QueryWrapperHospitalSet wrapper new QueryWrapper();String hosname hospitalSetQueryVo.getHosname();String hoscode hospitalSetQueryVo.getHoscode();if(!StringUtils.isEmpty(hosname)){wrapper.like(hosname,hospitalSetQueryVo.getHosname());}if(!StringUtils.isEmpty(hoscode)){wrapper.eq(hoscode,hosipitalSetQueryVo.getHoscode());}PageHospitalSet pageHospitalSet hospitalSetService.page(page,wrapper);
}将控制方法的get改为post 参数添加注解RequestBody SpringBootMyBatisPlus常见问题
一、启动时报出找不到mapper的问题
因为mapper包下是一个是实现了BaseMapper接口的接口其实现类需要动态创建
方式一需要在启动类上添加MapperScan(“指定mapper包位置”)
方式二配置类
Configuration
MapperScan(com.michael.mapper)
public class myConfig{}