将 EasyCode 模板分页查询模块改为PageHelper
一、打开设置页面
File -> Settings ->Other Settings -> EasyCode -> Template
修改相应文件
二、修改 Service
/**
* 分页查询
*
* @param $!tool.firstLowerCase($!{tableInfo.name}) 筛选条件
* @param pageRequest 分页对象
* @return 查询结果
*/
Page<$!{tableInfo.name}> queryByPage($!{tableInfo.name} $!tool.firstLowerCase($!{tableInfo.name}), PageRequest pageRequest);
改为
/**
* 分页查询
*
* @param currentPage 当前页
* @param pageSize 分页大小
* @return 查询结果
*/
Map<String, Object> queryByPage(int currentPage, int pageSize);
添加
import java.util.Map;
删除
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
三、修改 ServiceImpl
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
改为
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
加上
import java.util.HashMap;
import java.util.List;
import java.util.Map;
修改分页查询代码
/**
* 分页查询
*
* @param $!tool.firstLowerCase($!{tableInfo.name}) 筛选条件
* @param pageRequest 分页对象
* @return 查询结果
*/
Page<$!{tableInfo.name}> queryByPage($!{tableInfo.name} $!tool.firstLowerCase($!{tableInfo.name}), PageRequest pageRequest);
改为
/**
* 分页查询
*
* @param currentPage 当前页
* @param pageSize 分页大小
* @return 查询结果
*/
@Override
public Map<String,Object> queryByPage(int currentPage, int pageSize){
PageHelper.startPage(currentPage,pageSize);
List<$!{tableInfo.name}> $!tool.firstLowerCase($!{tableInfo.name}) = $!tool.firstLowerCase($!{tableInfo.name})Dao.queryAll();
// 获取总页数 总条数
PageInfo<$!{tableInfo.name}> pageInfo = new PageInfo<>($!tool.firstLowerCase($!{tableInfo.name}));
// 返回前端数据有 studentList total
HashMap<String,Object> map = new HashMap();
if ($!tool.firstLowerCase($!{tableInfo.name}) != null && !$!tool.firstLowerCase($!{tableInfo.name}).isEmpty()){
map.put("list",$!tool.firstLowerCase($!{tableInfo.name}));
map.put("total",pageInfo.getTotal());
return map;
}
return null;
}
四、修改 Controller
加上
import java.util.Map;
删掉
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
修改分页查询
/**
* 分页查询
*
* @param $!{tool.firstLowerCase($tableInfo.name)} 筛选条件
* @param pageRequest 分页对象
* @return 查询结果
*/
@GetMapping
public ResponseEntity<Page<$!{tableInfo.name}>> queryByPage($!{tableInfo.name} $!{tool.firstLowerCase($tableInfo.name)}, PageRequest pageRequest) {
return ResponseEntity.ok(this.$!{tool.firstLowerCase($tableInfo.name)}Service.queryByPage($!{tool.firstLowerCase($tableInfo.name)}, pageRequest));
}
改为
/**
* 分页查询
*
* @param currentPage 当前页
* @param pageSize 分页大小
* @return 查询结果
*/
@RequestMapping("/queryByPage")
public ResponseEntity<Map<String,Object>> queryByPage(@RequestParam(defaultValue = "1") Integer currentPage, @RequestParam(defaultValue = "5") Integer pageSize) {
return ResponseEntity.ok(this.$!{tool.firstLowerCase($tableInfo.name)}Service.queryByPage(currentPage, pageSize));
}
五、修改 Dao
/**
* 查询指定行数据
*
* @param $!tool.firstLowerCase($!{tableInfo.name}) 查询条件
* @param pageable 分页对象
* @return 对象列表
*/
List<$!{tableInfo.name}> queryAllByLimit($!{tableInfo.name} $!tool.firstLowerCase($!{tableInfo.name}), @Param("pageable") Pageable pageable);
改为
/**
* 查询指定行数据
*
* @param $!tool.firstLowerCase($!{tableInfo.name}) 查询条件
* @param pageable 分页对象
* @return 对象列表
*/
List<$!{tableInfo.name}> queryAll();
加上
import java.util.List;
删除
import org.springframework.data.domain.Pageable;
六、修改 mapper
<!--查询指定行数据-->
<select id="queryAllByLimit" resultMap="$!{tableInfo.name}Map">
select
#allSqlColumn()
from $!tableInfo.obj.name
<where>
#foreach($column in $tableInfo.fullColumn)
<if test="$!column.name != null#if($column.type.equals("java.lang.String")) and $!column.name != ''#end">
and $!column.obj.name = #{$!column.name}
</if>
#end
</where>
limit #{pageable.offset}, #{pageable.pageSize}
</select>
改为
<!--查询全部数据-->
<select id="queryAll" resultMap="$!{tableInfo.name}Map">
select
#allSqlColumn()
from $!tableInfo.obj.name
</select>
注意 EasyCode 有 BUG,ServiceImpl 文件中,分页查询模块 ! t o o l . f i r s t L o w e r C a s e ( !tool.firstLowerCase( !tool.firstLowerCase(!{tableInfo.name})Dao.queryAll(); 会将 .queryAll() 忽略
生成后注意将其加上即可