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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 强大易用的Excel转Json工具「建议收藏」

    强大易用的Excel转Json工具「建议收藏」好久没更新了,最近配置json文件的时候发现以前用的excel转json转换器不好用了,上网找了几个都不能满足需求,于是自己用python写了一个。工具不复杂,使用简单,但能满足几乎所有excel转json的要求了,包括多层嵌套,每一层定制为列表或者字典的输出格式,复杂单元格的定制。转载请注明出处:https://blog.csdn.net/ylbs110/article/details/506…

    2022年6月13日
    57
  • PHP方法,传入的参数前带三个点是什么意思?

    PHP方法,传入的参数前带三个点是什么意思?

    2022年2月14日
    61
  • sql server嵌套查询实验_exists嵌套查询

    sql server嵌套查询实验_exists嵌套查询嵌套查询一带有IN谓词的子查询1.查询与“刘晨”在同一个系学习的学生selectsno,snamefromstudentwheresdeptin( selectsdept fromstudent wheresname=’刘晨’)二.带有比较运算符的子查询1.找出每个学生超过他自己选修课程平均成绩的课程号selectsno,cnofrom…

    2022年8月10日
    22
  • 老板口中的一区二区是什么意思?[通俗易懂]

    老板口中的一区二区是什么意思?[通俗易懂]不少作者对SCI期刊有所耳闻,但是对于SCI期刊的级别划分就不清楚了,有的作者看了评职晋升的要求后有了疑问,比如有的要求发表SCI一区期刊。比如某大学教授职称评审就要求以第一作者在《Science》、《Cell》等顶级杂志上发表学术论文1篇;或以第一作者在SCI一区期刊上发表学术论文X篇;或以第一作者在SCI二区及以上期刊发表学术论文X篇。那很多人就搞不清楚什么是SCI一区期刊、二区期刊了。

    2022年7月11日
    63
  • php递归算法计算n 介乘,递归算法示例——计算N的阶乘「建议收藏」

    php递归算法计算n 介乘,递归算法示例——计算N的阶乘「建议收藏」递归算法,也就是调用方法自身。阶乘算法,N的阶乘为N*(N-1)*…*2*1,1的阶乘是1。下面是示例的代码:packagecom.cqit.edu.test;importjava.util.Scanner;/***@author肖德俊*@versionDec9,20086:02:55PM*/publicclassUseself{/***@paramargs*/pub…

    2022年8月11日
    8
  • adb命令 利用jks文件给apk签名[通俗易懂]

    adb命令 利用jks文件给apk签名[通俗易懂]程序猿日常实践是检验真理的唯一标准。jarsigner-verbose-keystorexxx.jks-signedjarxxx.apk(签名后的apk名字)xxx.apk(需要签名的apk)xxx(keystore别名)

    2022年5月30日
    34

发表回复

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

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