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)
上一篇 2022年2月3日 上午10:00
下一篇 2022年2月3日 上午10:00


相关推荐

  • codevs——2750 心系南方灾区

    codevs——2750 心系南方灾区

    2022年3月5日
    42
  • springboot的自动化配置是什么_spring三种配置方式

    springboot的自动化配置是什么_spring三种配置方式一、什么是SpringBoot的自动配置?SpringBoot的最大的特点就是简化了各种xml配置内容,还记得曾经使用SSM框架时我们在spring-mybatis.xml配置了多少内容吗?数据源、连接池、会话工厂、事务管理···,而现在SpringBoot告诉你这些都不需要了,一切交给它的自动配置吧!所以现在能大概明白什么是SpringBoot的自动配置了吗?简单来说就是用注解来对一些常规的配置做默认配置,简化xml配置内容,使你的项目能够快速运行。是否对SpringBoot自动配置

    2022年8月22日
    11
  • tcp rst报文_TCP报文格式

    tcp rst报文_TCP报文格式RESET报文的接收和检查处理。客户端握手阶段对于TCP客户端,在发送完SYN报文之后,如果接收到的回复报文同时设置了ACK和RST标志,在检查完ACK的合法性之后,处理RST标志,关闭套接口。对于ACK确认序号,其应当大于第一个未确认序号(snd_una),并且,确认序号不应大于未发送数据的序号(snd_nxt)。通常情况下ACK确认序号应当等于snd_una加一(SYN占用一个序号),但是,如果SYN报文中带有数据(例如:TFO),ACK确认序号会更大。以上情况向对端发送reset报文,但是,如果

    2022年10月1日
    3
  • 卷积神经网络CNN(2)—— BN(Batch Normalization) 原理与使用过程详解[通俗易懂]

    卷积神经网络CNN(2)—— BN(Batch Normalization) 原理与使用过程详解[通俗易懂]BatchNormalization是由google提出的一种训练优化方法。网上对BN解释详细的不多,大多从原理上解释,没有说出实际使用的过程,这里从what,why,how三个角度去解释BN。

    2022年7月18日
    16
  • c语言编程高斯白噪声信号,关于产生高斯白噪声

    c语言编程高斯白噪声信号,关于产生高斯白噪声1 环境工具语言 c 语言作图 gnuplot2 高斯白噪声 1 为什么要产生高斯白噪声在分析一个系统的抗噪声性能或者是一种对信号的调制方式分析的时候 在模拟信号通过信道的时候 使用的是高斯白噪声来模拟信道中的噪声模型 由此 在固定信噪比下 可以分析不同调制手段最终解调后受干扰的程度好坏 通信系统中的噪声是热噪声 而白噪声是近似于白噪声的 当对白噪声取值的时候 我们发现它符合高斯分布 故而出

    2025年12月7日
    5
  • 电阻的型号命名方法_旺诠电阻命名规则

    电阻的型号命名方法_旺诠电阻命名规则1、5%精度的命名:RS-05K102JT2、1%精度的命名:RS-05K1002FTR-表示电阻S-表示功率0402是1/16W、0603是1/10W、0805是1/8W、1206是1/4W、1210是1/3W、1812是1/2W、2010是3/4W、2512是1W。05-表示尺寸(英寸):02表示0402、03表示0603、05表示0805、06表示1206、1210表示1210、1812表示1812、10表示2010、12表示2512。K-表示温度系数为100PPM,102-5%

    2022年8月21日
    12

发表回复

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

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