JPA实现传入动态表名并进行多条件查询及分页查询
使用场景,项目中做了分表操作需要根据不同的市查各自的数据。下面是具体代码片段
// 传入动态表名和多条件查询的参数
public List<SysElectricRecordEntity> findElectricRecordByParam(SysElectricRecord electricRecord) {
if(electricRecord.getCityCode()==null){
throw new IncorrectParameterException("cityCode can't be null");
}
return sysElectricRecordDao.findElectricRecordByParam(electricRecord,"sys_electric_record"+electricRecord.getCityCode());
}
//条件查询具体实现
public List<SysElectricRecordEntity> findElectricRecordByParam(SysElectricRecord electricRecordEntity, String tableName) {
String sql="select * from "+tableName+" t where 1=1 ";
//String sql="select * from sys_electric_record310000 t where 1=1 ";
if(electricRecordEntity.getLicensePlate() != null && !"".equals(electricRecordEntity.getLicensePla