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;
	}
}

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • JAVA 位操作

    JAVA 位操作

  • 计算机的网线连接路由器的什么接口,网线插路由器哪个口

    计算机的网线连接路由器的什么接口,网线插路由器哪个口网线插路由器哪个口?路由器是干什么用的呢?作为非安装人士来说,可能对路由器的相关知识并不是很了解。不过别急,下面就让我来为大家简单介绍路由器的相关知识。网线插路由器哪个口任意一个LAN接口都可以。普通的无线路由器中,通常都有四个LAN接口,部分路由器上会注明1、2、3、4,也有少部分路由器不会注明。对于普通用户而言,LAN接口都是用来连接上网设备的,倘若不是无线上网的话,电脑只有通过网线与路由器的…

  • VMware 虚拟机里连不上网的五种解决方案「建议收藏」

    VMware 虚拟机里连不上网的五种解决方案「建议收藏」在VMware虚拟机里的虚拟机系统连接不上网络首先,注意查看适配器选项里的网络连接这两个网络连接是否存在,如果不存在可以重新装一下VM如果存在,连不上网解决办法一:虚拟机设置里,找到“网络适配器”,右边的网络连接选择“NAT模式”,如果不行的话再linux系统。还是不行的话接着看第二种解决方案。解决方法二:可能原因是VMwareNETService…

  • 算法模型定义介绍

    算法模型定义介绍1.马尔科夫模型1.1马尔科夫过程  马尔可夫过程(Markovprocess)是一类随机过程。它的原始模型马尔可夫链。已知目前状态(现在)的条件下,它未来的演变(将来)不依赖于它以往的演变(过去)。  一个马尔科夫过程就是指过程中的每个状态的转移只依赖于之前的n个状态,这个过程被称为1个n阶的模型,其中n是影响转移状态的数目。最简单的马尔科夫过程就是一阶过程…

  • 怎么把sql删干净_sql的导入和导出的好处

    怎么把sql删干净_sql的导入和导出的好处程序数据库(PDB)文件保存着调试和项目状态信息,使用这些信息可以对程序的调试配置进行增量链接。在使用/debug生成时,会创建一个PDB文件。可以使用/debug:full或/debug:pdbonly生成应用程序。使用/debug:full生成将产生可调试的代码。使用/debug:pdbonly生成将产生PDB,但是不会产生通知JIT编译器调试信息可用…

  • 开始laravel项目+理解

    开始laravel项目+理解一.laravel运行理解Ⅰ.开始,public/index.php此文件有两个作用。①:作为入口的起点,引导构建服务所需要的一切(包括路由,服务容器之类的)。②:作为所有请求的必经之路。请求经过此文件,会被“指派”到合适的路由,中间件等等进行处理。tips:所以用phpstudy的时候,记得设置一下①指定项目的根目录。②指定下路由。我用的nginx,设置的vhost.config文件。画起第一行用以指定项目的根目录,就apache的www文件的意思。第二行是指定所有请求最终会定向

发表回复

您的电子邮箱地址不会被公开。

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