`
uule
  • 浏览: 6359494 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

一些代码小技巧或规范

 
阅读更多

List<String> imgServerUrls = new ArrayList<String>();

String  str = StringUtils.join(imgServerUrls, ",")

 

 

1、In使用

fileCodes = "'"+fileCodes.replace(",", "','")+"'";
StringBuffer hqlBuf = new StringBuffer("from EipResourceFile t where 1=1 and t.enabledFlag ='Y' and t.fileCode in ("+fileCodes+")");

//添加附件
	 String hqlStr = "from EipQuestionFile t where t.questionOperateId = "+eipQuestionOperateV.getId()+" and t.enabledFlag='Y'";
 List<EipQuestionFile> eipList = eipQuestionFileDAO.find(hqlStr);    			 
	 if(eipList != null && eipList.size() > 0){
		String fileCodes  = "";
		for (EipQuestionFile eipQuestionFile : eipList) {
				if (eipQuestionFile == null) continue;
				fileCodes = fileCodes + eipQuestionFile.getFileCode()+",";
			}
		if(StringUtils.isEmpty(fileCodes)){
			return null;
		}
		fileCodes = fileCodes.substring(0,fileCodes.length()-1);
		fileCodes = "'"+fileCodes.replace(",", "','")+"'";
		StringBuffer hqlBuf = new StringBuffer("from EipResourceFile t where 1=1 and t.enabledFlag ='Y' and t.fileCode in ("+fileCodes+")");
		
		List<EipResourceFile> eipResourceFileList = dao.find(hqlBuf.toString());
		if(eipResourceFileList != null && eipResourceFileList.size() > 0){
			eipQuestionOperateV.setEipResourceFileList(eipResourceFileList);
		}    		              
	}  

 或:

private String buildQuerySql(String[] addResp){
	StringBuffer sql = new StringBuffer();
	sql.append("(");
	sql.append("'"+addResp[0]+"'");
	for(int i=1;i<addResp.length;i++){
		sql.append(",");
		sql.append("'"+addResp[i]+"'");
	}
	sql.append(")");
	return sql.toString();
}

//或
if(srvId.size() > 0){
	StringBuffer hql = new StringBuffer();
	hql.append("from EsbWsdlFileV where serviceId in (");
	hql.append(srvId.get(0));
	for(int i = 1; i < srvId.size(); i ++){
		hql.append(", ").append(srvId.get(i));
	}
	hql.append(") order by serviceId");
	return wsdlFileVDao.findByHql(hql.toString());
}

2.string.format

long timestamp = System.currentTimeMillis();
String.format("%1$tY%1$tm%1$td%1$tH%1$tM%1$tS", timestamp)
String.format("package %s.proxy;\n", pkg)

"select t.%s, t.%s from %s t where (t.%s like :value1 ||'%%' or lower(F_TRANS_PINYIN_CAPITAL(t.%s)) like :value2 ||'%%' or t.%s like :value3 ||'%%' )";

String.format(sql, arg.getCodeField(), arg.getNameField(), arg.getTablename(), arg.getCodeField(),
            arg.getNameField(),arg.getNameField());

 

 3、根据模版创建文件

org.apache.commons.io.FileUtils
org.apache.commons.io.IOUtils

模版:

handler-chain.comm.template(SOAPHandler过滤器文件):

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<javaee:handler-chains 
     xmlns:javaee="http://java.sun.com/xml/ns/javaee" 
     xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <javaee:handler-chain>
    <javaee:handler>
      <javaee:handler-class>com.soa.ws.interceptor.InstanceHandler2</javaee:handler-class>
    </javaee:handler>
  </javaee:handler-chain>
</javaee:handler-chains>

 创建:

/**
	 * 创建handler-chain.xml
	 * 
	 * @param path handler-chain.xml的绝对路径
	 * @param project
	 * 
	 * @return 是否创建成功
	 */
	private boolean writeHandlerChain(String path, WebServiceProject project) {
		
		String handlerChain = null;
		try {
			handlerChain = IOUtils.toString(this.getClass().getClassLoader().getResourceAsStream("META-INF/ws/handler-chain.comm.template"));
			
			logger.debug("get template pass...");
			
			handlerChain = String.format(handlerChain, project.getName());
			
			logger.debug("template format :\n" + handlerChain);
			
			FileUtils.writeStringToFile(new File(path), handlerChain, "UTF-8");
			
			logger.debug("write " + path + " to harddrive pass...");
		} catch (Exception e) {
			e.printStackTrace();
			logger.error("writeBuild error : " + e.getMessage());
			return false;
		}
		return true;
	}

 

填充后创建文件:

模版文件:

ejb-jar.comm.template

 

<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xmlns="http://java.sun.com/xml/ns/javaee" xmlns:ejb="http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
		xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
		version="3.0">
	<display-name>%1$s</display-name>
</ejb-jar>

 

 

参数可依次叠加,如%2%s ,  %3%s ...

创建:

 

/**
	 * 创建src/META-INF/ejb-jar.xml
	 * 
	 * @param path ejb-jar.xml的的绝对路径
	 * @param project
	 * 
	 * @return 是否创建成功
	 */
	protected boolean writeEJBJar(String path, WebServiceProject project){
		String ejbJar = null;
		try {
			ejbJar = IOUtils.toString(this.getClass().getClassLoader().getResourceAsStream("META-INF/ws/ejb-jar.comm.template"));
			
			logger.debug("get template pass...");
			
			ejbJar = String.format(ejbJar, project.getName());
			
			logger.debug("template format :\n" + ejbJar);
			
			FileUtils.writeStringToFile(new File(path), ejbJar, "UTF-8");
			
			logger.debug("write " + path + " to harddrive pass...");
		} catch (Exception e) {
			e.printStackTrace();
			logger.error("writeBuild error : " + e.getMessage());
			return false;
		}
		return true;
	}

 。。。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    近100多个c#开发小技巧,.net实例源代码.

    本文将深入探讨近100个C#开发小技巧,这些技巧覆盖了从基础语法到高级特性,旨在提升开发效率,优化代码质量,并提供实际可运行的.NET实例源代码。 1. **Linq查询优化**:使用LINQ可以极大地简化数据操作,但需要...

    JAVA代码规范 JAVA规范 代码规范

    以下是一些核心的Java代码规范要点: 1. **命名规范**: - 类名使用大驼峰命名法,所有单词首字母大写,例如`ClassName`。 - 接口名称也使用大驼峰命名法,但通常以`I`开头,如`IFooService`。 - 变量和方法名...

    iOS软件代码规范

    规范建议使用小写字母开头的驼峰命名法,缩进使用四个空格,注释使用//或/* */,而且建议每行代码的长度不要超过 80 个字符。 注释 注释是代码的不可或缺的一部分,能够提高代码的可读性和可维护性。在 iOS 软件...

    Java代码设计规范

    Java代码设计规范是编程实践中非常重要的一个环节,它旨在提高代码质量、可读性和团队协作效率。本规范基于一系列安全可靠的原则,旨在帮助Java开发者编写出高效、稳定且易于维护的代码。 ### 1. 简介 良好的代码...

    代码规范化必备书籍

    总的来说,《代码规范化必备书籍》是提升程序员代码质量的重要参考书籍,它不仅提供了丰富的编程规范和技巧,还纠正了一些错误的编程观念,对于提高程序员的专业素养和技术水平具有重要的指导意义。

    中粮我买网代码规范

    中粮我买网代码规范详细阐述了Java编程实践,旨在通过规定编码和注释等规则,提高代码质量,保证代码风格一致性和可维护性。以下是对该规范中涉及的关键知识点的详细解释: ### 命名规范 命名规范部分强调代码中的...

    工作中整理的前后端技术文档与代码规范

    本文档是关于前后端开发中的代码规范和接口格式的综合指南,旨在提高团队协作效率和系统稳定性。文档主要涵盖了iOS、Android、API接口、Git、PHP以及SQL注入的相关规范。 在iOS代码规范中,文档强调了代码规约的...

    java开发中的一些常用小技巧

    #### 规范小技巧 **1. 命名规范** - 静态常量使用全大写字母表示。 - 方法名使用小驼峰命名法。 - 类名使用大驼峰命名法。 - 变量名反映其业务含义。 **2. 代码组织** - 方法和类的命名要明确。 - 类要...

    Google开源风格指南学习笔记-c++代码规范

    ### Google开源风格指南学习笔记——C++代码规范详解 #### 避免多重包含与使用前置声明 在C++开发中,避免多重包含是至关重要的,因为它可以减少编译时间并降低代码之间的依赖关系。当一个头文件被多次包含时,...

    Java软件开发代码规范及技巧速查手册

    Java软件开发中的代码规范和技巧是提高代码质量和团队协作效率的关键。本规范基于SUN的标准Java代码规范,旨在创建一致、清晰且易于理解的代码。以下是一些核心要点: 1. **标识符命名规范** - **统一**:确保在...

    保持代码健壮性的小技巧

    ### 保持代码健壮性的小技巧:深入学习Java原理 #### 1. 字符串连接:性能与效率 在Java中,字符串连接是常见的操作,但不同的实现方式对性能的影响巨大。直接使用加号(`+`)进行字符串连接会在每次操作时创建新...

    Java 软件开发+代码规范及技巧速查手册

    本资料“Java软件开发+代码规范及技巧速查手册”旨在为开发者提供一个全面的指南,涵盖代码规范、编程技巧以及设计模式等多个方面,以提升代码质量,提高开发效率。 一、代码规范 1. 命名规范:遵循一致的命名规则...

    提升java代码简洁度的几个小技巧

    以下是一些提升Java代码简洁度的小技巧: 1. 使用有意义的变量名:变量名应清晰地反映其用途,避免使用过于简写或模糊不清的名称。例如,`int count = list.size();` 比 `int i = l.s();` 更易于理解。 2. 避免...

    编写代码命名规范

    匈牙利命名法是一种变量命名技巧,它通过在变量名前面添加特定的前缀来表明变量的数据类型、作用域或其他相关信息。这种方法由Microsoft的程序员查尔斯·西蒙尼(Charles Simonyi)提出,并广泛应用于Microsoft ...

    java代码规范

    Java代码规范是软件开发过程中不可或缺的一部分,它不仅有助于提高代码的可读性和可维护性,还能促进团队协作,确保项目的一致性和质量。以下是对给定文件中的几个关键章节进行的详细解读,涵盖了一般规则、格式规范...

    Java实际开发中的小技巧汇总

    在Java实际开发中,开发者经常会遇到各种挑战,需要掌握一些实用的小技巧来提高代码质量、提升效率。以下是一些从博客文章"Java实际开发中的小技巧汇总"中可能涵盖的知识点,结合“源码”和“工具”的标签,我们可以...

    软件开发代码规范(Java).pdf

    软件开发代码规范(Java) 本文档主要介绍了软件开发代码规范的相关知识点,涵盖了代码开发规范、程序编写规范方法和其他要求等方面的内容。 代码开发规范 代码开发规范是软件开发中非常重要的一部分,它直接影响...

    pku acm 一些代码

    在描述中,作者提到“有一些代码是pku上的”,这可能意味着这些代码是为参加ACM竞赛训练或解决PKU在线判题系统(如POJ)上的题目而编写的。作者希望社区成员能审阅代码并提供反馈,指出可能存在的问题。这种行为在...

Global site tag (gtag.js) - Google Analytics