小区模块功能代码实现
小区管理模块功能列表
1.小区列表查询
开始时间,结束时间,小区名称,页码,每页条数
小区列表查询后段代码
1 第一步:前端浏览器发送请求
请求路径:http://localhost:8888/community/search
请求参数:{"startTime":"","endTime":"","name":"","pageNum":"1","pageSize":"2"}
请求数据格式:JSON
2 第二步:后端controller层接收请求
@RequestMapping("/search")
public PageResult search(@RequestBody Map searchMap){
Page<Community> page = communityService.search(searchMap);
return new PageResult(true,2000,"查询小区列表成功",page, page.getTotal());
}
3 第三步:后端service层,业务逻辑处理代码
service 接口
public interface CommunityService {
//只要设计到分页的就返回github上的pagehelper
public Page<Community> search(Map searchMap);
}
service 实现
@Service
public class CommunityServiceImpl implements CommunityService {
@Autowired
private CommunityMapper communityMapper;
@Override
public Page<Community> search(Map searchMap) {
//(tkMapper)通用mapper多条件搜索,标准写法(通用型,套路型代码)
Example example = new Example(Community.class);//指定查询的表tb_community
//1.初始化分页条件
int pageNum=1;
int pageSize=2;
if(searchMap!=null){
Example.Criteria criteria = example.createCriteria();//创建查询条件 这两句话重点
//时间区间
if(StringUtil.isNotEmpty((String) searchMap.get("startTime"))){
criteria.andGreaterThanOrEqualTo("createTime",searchMap.get("startTime"));
}
if(StringUtil.isNotEmpty((String) searchMap.get("endTime"))){
criteria.andLessThanOrEqualTo("createTime",searchMap.get("endTime"));
}
//名称模糊搜索
if(StringUtil.isNotEmpty((String) searchMap.get("name"))){
criteria.andLike("name", "%"+(String) searchMap.get("name")+"%");
}
//分页
/* if(StringUtil.isNotEmpty((String) searchMap.get("pageNum"))){
pageNum=Integer.parseInt((String) searchMap.get("pageNum"));
}
if(StringUtil.isNotEmpty((String) searchMap.get("pageSize"))){
pageSize=Integer.parseInt((String) searchMap.get("pageSize"));
}*/
if((Integer)searchMap.get("pageNum")!=null){
pageNum=(Integer)searchMap.get("pageNum");
}
if((Integer)searchMap.get("pageSize")!=null){
pageSize=(Integer)searchMap.get("pageSize");
}
}
PageHelper.startPage(pageNum,pageSize); //使用pageHelper 插件完成分页,必须放在example之上
Page<Community> communities = (Page<Community>) communityMapper.selectByExample(example);// 两着之间不要再有其它操作了
return communities;
}
}
4 第四步:dao层代码,与数据库进行数据交互
//@Repository该注解只是为了让service调用dao没有红色波浪线,没有任何作用
@Repository
public interface CommunityMapper extends Mapper<Community> {
}
总结:前端浏览器–>Controller–>Service(接口,实现类)–>Dao
第一个功能点的后段代码的实现