发表于: 2019-11-04 10:57:26
1 709
今日想法:
好好的思考一下怎么实现多表联合,实现分级和模糊的查询。
今日作为:
先提前写好接口,方法和返回值都为空,等我后面补上。
分级查询的控制层的接口和实现
@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>
明日想法:
利用递归查询,实现多表的模糊和分级的查询。
并画出自己的流程图和写详细的思想,告诉各位我的全部实现想法。
评论