发表于: 2019-11-04 10:57:26

1 707


今日想法:


好好的思考一下怎么实现多表联合,实现分级和模糊的查询。


今日作为:


先提前写好接口,方法和返回值都为空,等我后面补上。


分级查询的控制层的接口和实现

@ResponseBody
@RequestMapping(value = "/Level/{id}" , method = RequestMethod.GET)
public List LevelBySelect(@PathVariable Integer id) {
return null;
}

分级查询的业务层的接口

package com.clxs.service;

import java.util.List;

public interface LevelService {

List LevelBySelect(Integer integer);

}

分级查询的业务层的接口的实现

package com.clxs.service.impl;

import com.clxs.dao.WorkerDao;
import com.clxs.dao.WorksDao;
import com.clxs.dao.WorkshopDao;
import com.clxs.service.LevelService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class LevelServiceimpl implements LevelService {

@Autowired
   WorkshopDao workshopDao;

@Autowired
   WorkerDao workerDao;

@Autowired
   WorksDao worksDao;

public List LevelBySelect(Integer integer){
return null;
}

}

模糊查询的控制层的接口和实现

@ResponseBody
@RequestMapping(value = "/All/{name}" , method = RequestMethod.GET)
public List AllBySelect(@PathVariable String name) {
return null;
}

模糊查询的业务层的接口

package com.clxs.service;

import java.util.List;

public interface AllService {

List AllBySelect();

}

模糊查询的业务层的接口的实现

package com.clxs.service.impl;

import com.clxs.dao.WorkerDao;
import com.clxs.dao.WorksDao;
import com.clxs.dao.WorkshopDao;
import com.clxs.service.AllService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class AllServiceimpl implements AllService {

@Autowired
   WorkshopDao workshopDao;

@Autowired
   WorkerDao workerDao;

@Autowired
   WorksDao worksDao;

public List AllBySelect(){
return null;
}

}

今日问题:


正在学习和理解,实现这些接口所需的知识。


如:循环,遍历,递归,迭代。


今日学习:


递归的思想和实现,流程实例。

@RequestMapping("getTree")
public Map<String, Object> getTree(int id) {
Map<String, Object> map = new HashMap<>();
try {
ChinaCitys province = dao.findProvince(id); //查询出一个省
       if (province != null) {
List<ChinaCitys> citys = dao.findChildren(province.getId());//查询省下面的所有市
           digui(citys); //调用递归算法查询市以下的区县
           province.setChildren(citys);
}
map.put("data", province);
} catch (Exception e) {
e.printStackTrace();
}
return map;
}

public void digui(List<ChinaCitys> citys) {
List<ChinaCitys> retList = new ArrayList<>();
for (ChinaCitys c : citys) {
retList = dao.findChildren(c.getId());
if (retList.size() > 0) {
c.setChildren(retList);
digui(retList); //循环调用自己
       }
}
}
<select id="findProvince" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select id,name from china_citys
WHERE id = #{id}
</select>

<select id="findChildren" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select id,name from china_citys
WHERE upid = #{id}
</select>

明日想法:


利用递归查询,实现多表的模糊和分级的查询。


并画出自己的流程图和写详细的思想,告诉各位我的全部实现想法。


返回列表 返回列表
评论

    分享到