根据id查到下一级别的实体(以区域表为例子)


表设计:

在区域表中有id,qyjb(级别),syjqy(父节点id),qymc(名称);

jsp:使用ajax

			//查询下级区域
			function checkarea(fir,sed){     //fir为当初级别的js识别id,sed为下一级的js识别id
				var data={};
				var firname="#"+fir;
				var sedname="#"+sed;
				var sednext=sedname+" option:last-child";
				data.area=$(firname).val();
				if(data.area!=""){
					$.ajax({
						type:"post",
						url:"<c:url value='/usercenter/volunteers/vol/checkarea.jhtml'/>",
						async:true,
						data:data,
						dataType : "json",  
						error: function () {//请求失败处理函数  
					        alert('请求失败');  
					    }, 
					    success:function(data){ //请求成功后处理函数。
							$(sedname).empty();
							if(data!=null){
								$(sedname).append("<option></option>");
								$(sednext).attr("value","");
								$(sednext).text("--请选择--");
								var l=data.length;
								for(var i=0;i<l;i++){
									$(sedname).append("<option></option>");
									$(sednext).attr("value",data[i].id);
									$(sednext).text(data[i].qymc);
								}
							}else{
								$(sedname).append("<option></option>");
								$(sednext).attr("value","0");
								$(sednext).text("无下级区域");
							}
						}
					});
				}else{
						$(sedname).empty();
						$(sedname).append("<option></option>");
						$(sednext).attr("value","");
						$(sednext).text("请先选择省");
				}
			}

HTML

<select name="jg1" id="sheng" οnchange="checkarea('sheng','shi')" required="required">
	<option value="">-请选择-</option>
	<c:forEach items="${qylist}" var="s" >
	<c:if test="${s.qyjb==1}">
		<option value="${s.id}" <c:if test="${s.id==xyxx.TJgQy1.id}">selected="selected"</c:if> >${s.qymc}</option>
	</c:if>
	</c:forEach>
</select>省


java

	private int area;//区域添加时接受前端传来的上一级区域
	
	public void checkarea(){
		int fid=area;
		List<Map<String, Object>> List=new ArrayList<Map<String,Object>>();//数据列表
		List<ZxbzQy>citylist;
		
		if(fid>0){
			Map<String, Object> queryParam2=new HashMap<String, Object>();
			queryParam2.put("sfsc", 0);
			queryParam2.put("fid", fid);
			citylist=jpaService.getBy(ZxbzQy.class,queryParam2);
			for(ZxbzQy y:citylist){
				Map<String,Object> map = new HashMap<String, Object>();
				map.put("id",y.getId());
				map.put("qymc", y.getQymc());
				List.add(map);
			}
			if(List.size()<1){
				List=null;
			}
		}else{
			citylist=null;
		}
		S2Utils.renderJson(List);
	}



PS:
jpaService.<span style="font-family: Arial, Helvetica, sans-serif;">getBy为根据参数查询对应的实体列表,由于不是本人编辑,因此不展示。</span>


在Spring Boot中,如果你需要根据某个ID查询数据库中的多条相关数据,通常你会涉及到分页查询(Pageable)或者是使用JPA(Java Persistence API)或其实现如Hibernate等提供的查询方法。这里提供一种基于Spring Data JPA的例子: 1. 首先,你需要有一个Repository接口,比如`YourEntityRepository`,它会从数据库操作实体对象。这个接口通常由Spring Data自动生成,只需要对基础CRUD操作进行一些扩展,例如添加查询方法: ```java import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import java.util.List; public interface YourEntityRepository extends JpaRepository<YourEntity, Long> { @Query("SELECT e FROM YourEntity e WHERE e.id IN (:ids)") List<YourEntity> findByIds(@Param("ids") List<Long> ids); } ``` 在这个例子中,`YourEntity`是你想要查询的具体实体类,`findByIds`方法接受一个Long列表作为参数,返回对应ID的多条记录。 2. 然后,在服务层或控制器里,你可以注入这个Repository并调用方法: ```java @Service public class YourService { private final YourEntityRepository repository; public YourService(YourEntityRepository repository) { this.repository = repository; } public List<YourEntity> findEntitiesByIds(List<Long> ids) { return repository.findByIds(ids); } } ``` 3. 最后,你在客户端可以使用HTTP请求,传入所需的ID列表,调用该服务方法获取数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值