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


相关推荐

  • 字符串正则匹配leetcode_JAVA 正则表达式

    字符串正则匹配leetcode_JAVA 正则表达式原题链接给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。‘.’ 匹配任意单个字符‘*’ 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。示例 1:输入:s = “aa” p = “a”输出:false解释:”a” 无法匹配 “aa” 整个字符串。示例 2:输入:s = “aa” p = “a*”输出:true解释:因为 ‘*’ 代表可以匹配零个或多个前面的那一个元素, 在这里前面的元素就是

    2022年8月8日
    0
  • shell if语句和test命令

    shell if语句和test命令在shell中if条件判断语句和我们的C、C++、Java等语言是不同的,shell的if语句条件必须用[]括起来,另外[]里外都需要用空格与周围隔开(例如[a==b]),否则报错;另外与if配对的有elseif和else,如果我们要写这两个必须后面跟有东西,否则也会报错,在编程中不跟是可以的:if(a==b)printf("a=b");else{//什么都没有}但是s…

    2022年7月27日
    3
  • CodeForces 377B—Preparing for the Contest(二分+贪心)

    CodeForces 377B—Preparing for the Contest(二分+贪心)

    2021年12月10日
    35
  • android签名命令行,Android系统签名位置及命令

    android签名命令行,Android系统签名位置及命令app需要使用系统的权限在AndroidManifest.xml中声明了系统全下申明了系统权限android:sharedUserId=”android.uid.system”1.找到平台签名文件“platform.pk8”和“platform.x509.pem”文件位置android/build/target/product/security/2.签名工具“signapk.jar”位置…

    2022年6月21日
    23
  • mybatis @MapperScan 解析

    mybatis @MapperScan 解析MapperScan注解会引入MapperScannerRegistrar,MapperScannerRegistrar实现了ImportBeanDefinitionRegistrar,可以向beanFactory中注册BeanDefinition,具体注入的过程是通过ClassPathMapperScanner实现的。publicvoidregisterBeanDefi…

    2022年5月2日
    60
  • java integer范围值的大小_java求数组最小值

    java integer范围值的大小_java求数组最小值java中Integer是有最大值和最小值的最大值为Integer.MAX_VALUE=2147483647最小值为Integer.MIN_VALUE=-2147483648注意:两个值并没有互为相反数有Integer.MAX_VALUE+1=Integer.MIN_VALUE同理Integer.MIN_VALUE-1=Integer.MAX_VALUE…

    2022年9月7日
    0

发表回复

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

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