zTree实现地市县三级级联DAO接口实现[通俗易懂]

zTree实现地市县三级级联DAO接口实现

大家好,又见面了,我是全栈君。

zTree实现地市县三级级联DAO接口实现


ProvinceDaoImpl.java:

/**
 * @Title:ProvinceDaoImpl.java
 * @Package:com.gwtjs.dao.impl
 * @Description:省份地市县级三级级联DAO接口实现
 * @author:Youhaidong(游海东)
 * @date:2014-5-10 下午10:40:35
 * @version V1.0
 */
package com.gwtjs.dao.impl;

import java.util.ArrayList;
import java.util.List;

import org.apache.commons.lang.StringUtils;
import org.hibernate.SQLQuery;
import org.springframework.stereotype.Repository;

import com.gwtjs.dao.ProvinceDao;
import com.gwtjs.model.Province;

/**
 * 类功能说明
 * 类改动者 改动日期
 * 改动说明
 * <p>Title:ProvinceDaoImpl.java</p>
 * <p>Description:游海东个人开发</p>
 * <p>Copyright:Copyright(c)2013</p>
 * @author:游海东
 * @date:2014-5-10 下午10:40:35
 * @version V1.0
 */
@Repository(value = "provinceDao")
public class ProvinceDaoImpl extends GenericDaoImpl<Province, Long> implements ProvinceDao 
{
	/**
	 * 
	 * @Title:findArea
	 * @Description:
	 * @param:@param provinceCode 省份编码
	 * @param:@param cityCode     地市编码
	 * @param:@param countyCode   县级编码
	 * @param:@return
	 * @return:List<Province>
	 * @throws
	 */
	@SuppressWarnings("unchecked")
	@Override
	public List<Province> findArea(String provinceCode, String cityCode,String countyCode) 
	{
		List<Province> list = new ArrayList<Province>();
		StringBuilder sb = new StringBuilder();
		sb.append("SELECT t.`province_name`,");
		sb.append("t.`city_name`,");
		sb.append("t.`county_name` ");
		sb.append("FROM t_area_tab t ");
		sb.append("WHERE 1=1 ");
		//推断省份编码不为空
		if(StringUtils.isNotBlank(provinceCode))
		{
			sb.append("AND t.`province_code` = '").append(provinceCode).append("' ");
		}
		//推断地市编码不为空
		if(StringUtils.isNotBlank(cityCode))
		{
			sb.append("AND t.`city_code` = '").append(cityCode).append("' ");
		}
		//推断县级编码不为空
		if(StringUtils.isNotBlank(countyCode))
		{
			sb.append("AND t.`county_code` = '").append(countyCode).append("' ");
		}
		SQLQuery q = getSession().createSQLQuery(sb.toString());
		System.out.println("三级级联SQL语句:" + sb.toString());
		List<Object[]> items = q.list();
		if(null != items && items.size() > 0)
		{
			Province province = null;
			for(Object[] obj:items)
			{
				province = new Province();
				/**
				 * 省份名称
				 */
				province.setProvinceName(null == obj[0]?"":obj[0].toString());
				/**
				 * 地市名称
				 */
				province.setProvinceName(null == obj[0]?"":obj[0].toString());
				/**
				 * 县级名称
				 */
				province.setProvinceName(null == obj[0]?"":obj[0].toString());
				
				list.add(province);
			}
		}
		return list;
	}
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115524.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 【Redis】内存回收策略

    【Redis】内存回收策略【Redis】内存回收策略

    2022年4月25日
  • pip安装scrapy失败_python的scrapy框架的安装

    pip安装scrapy失败_python的scrapy框架的安装错误如图所示,running setup.py install for Twisted…..errorTwisted依赖库安装报错,重新下载手动安装一下下载网址:https://www.lfd.uci.edu/~gohlke/pythonlibs注意:看下安装的python是什么版本,我安装的python 3.9.0,就下载cp39,64位的下载安装的版本不对,就会报:Twisted-20.3.0-cp38-cp38-win_amd64.whl is not a support…

    2022年8月18日
  • 西安市住房购房意向登记平台网址「建议收藏」

    西安市住房购房意向登记平台网址「建议收藏」西安市住房购房意向登记平台网址:http://124.115.228.93/zfrgdjpt/index.html

    2022年8月3日
  • GSLB功能

    GSLB功能GSLB应为一个高效率的智能的DNS服务器,并且可以在基于负载均衡算法的基础上对定义好的域名进行解析。可从如下角度来分析GSLBDNS功能以及标准性对GSLB架构设计算法设计1.严格遵守DNS的相关标准。概括的说是性能优良,功能全面。做为负载均衡设备,性能始终是非常重要的。要能实习高负载大流量下对DNS请求的迅速应答。在功能实现方面DNS相关RFC(rfc1034,…

    2022年6月8日
  • 操作系统 面试问题_程序员面试问题大全及答案大全

    操作系统 面试问题_程序员面试问题大全及答案大全操作系统的组成1、驱动程序是最底层的、直接控制和监视各类硬件的部分,它们的职责是隐藏硬件的具体细节,并向其他部分提供一个抽象的、通用的接口。2、内核是操作系统之最内核部分,通常运行在最高特权级,负责提供基础性、结构性的功能。3、支承库是一系列特殊的程序库,它们职责在于把系统所提供的基本服务包装成应用程序所能够使用的编程接口(API),是最靠近应用程序的部分。例如,GNUC运行期库就属于此类…

    2022年8月28日
  • poj 1011 Sticks (DFS+剪枝)

    poj 1011 Sticks (DFS+剪枝)

    2022年1月31日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号