BaseMapper 中的CRUD方法
MybatisPlus 实现无sql进行CRUD的基础是接口继承BaseMapper
-
Integer insert(T var1)
数据插入,进行插入操作时,默认对每个字段进行了非空判断,只对非空字段进行操作。 -
Integer insertAllColumn(T var1)
如果想进行全字段更新,就可以使用此方法。 -
Integer updateById(@Param("et") T var1)
数据更新,默认会对每个字段进行非空判断,只对非空字段进行操作。 -
Integer updateAllColumnById(@Param("et") T var1)
如果需要进行全字段更新,就使用该方法。 -
List<T> selectPage(RowBounds var1, @Param("ew") Wrapper<T> var2)
进行分页查询,只能查询到数据,没有其他分页信息
List<EmployeeEntity> employeeEntities = employeeDao.selectPage(new Page<>(1, 10), new EntityWrapper<>());
返回分页信息和数据
Page<EmployeeEntity> page = new Page<>(Integer.parseInt(params.get("page").toString()), Integer.parseInt(params.get("limit").toString()));
page.setRecords(this.baseMapper.selectPage(page, new EntityWrapper<>()));
return new PageUtils(page);
人人开源项目中默认生成的分页查询
Page<EmployeeEntity> page = this.selectPage(
new Query<EmployeeEntity>(params).getPage(),
new EntityWrapper<EmployeeEntity>()
);
return new PageUtils(page);
- 自定义sql分页查询
service
public PageUtils selectByPage(Map<String, Object> params, int age) {
Page<EmployeeEntity> page = new Query<EmployeeEntity>(params).getPage();
page.setRecords(this.baseMapper.selectByPage(page, age));
return new PageUtils(page);
}
dao
List<EmployeeEntity> selectByPage(Pagination page, @Param("age") int age);
xml
<select id="selectByPage" resultType="io.renren.modules.app.entity.EmployeeEntity">
select * from employee where age = #{age}
</select>