`
uule
  • 浏览: 6304948 次
  • 性别: 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;
	}

 。。。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

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

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

    微信小程序仿微信主界面UI源代码.rar

    这是一个运行于微信环境的小程序,正好是模拟制作的微信主界面和功能,源代码目录很规范,编写微信相关的小程序,运用的知识技巧是很综合的,这涉及到音频处理、查找联系人、信息、日志、消息、新朋友发现、日志记事...

    一款来自国外的Java吃豆子游戏源代码.rar

    学习Java游戏开发的话,像这种吃豆子之类的小游戏,从中可学习到很多基础的Java编程技巧,游戏的开发最考验编程水平了,本吃豆子游戏代码结构挺规范,有空了就看下吧。(本游戏非Android版,是运行于j2me环境的版本...

    JAVA上百实例源码以及开源项目源代码

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    Vue的编码技巧与规范使用详解

    主要介绍了Vue的编码技巧与规范使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    网页制作关于代码的18个小技巧

    1、xml文件尽量以utf-8编码,gb...,就算能存也需要转换,比较麻烦,utf-8也符合国际规范。 2、CSS中:hover这个伪类,如果放在:visited前面则会失效。 3、标签如果没有href属性,所有对它的css的伪类如:hover均失效。

    CSS代码编写的一些性能优化技巧总结

    因此下面介绍的小技巧对于真实世界的 Web 文档将会十分有用。 第一部分内容综合讨论了常见的样式系统是如何分类规则的。接下来的部分包含了书写规则的指南,它利用了前面讨论的样式系统的优点。 样式系统如何拆分...

    C语言编程规范

    4 其它一些小技巧和要求 1 代码书写规范 1.1函数定义 花括号: { } 每个函数的定义和说明应该从第1列开始书写。函数名(包括参数表)和函数体的花括号应该各占一行。在函数体结尾的括号后面可以加上注释,注释中...

    jQuery权威指南-源代码

    其次详细讲解了jQuery的各种选择器、jQuery操作DOM的方法、jQuery中的事件与应用、jQuery中的动画和特效、Ajax在jQuery中的应用,以及各种常用的jQuery插件的使用方法和技巧...

    Java毕业设计-基于springboot开发的开发精简博客系统设计与实现-毕业论文(附毕设源代码).rar

    此博客系统旨在提供一个轻量级、易扩展的博客平台,适用于个人或小团队快速搭建自己的博客站点。 在设计上,系统采用了前后端分离的开发模式,前端使用现代化的前端框架进行构建,后端则依托Spring Boot的快速开发...

    java源码包---java 源码 大量 实例

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    JAVA上百实例源码以及开源项目

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    vc源代码合集0951.rar

    vc源代码合集0951.rarvc源代码合集0951.rar 2012-06-12 11:54 80,235 (MSDN oct 2001)VC6 适用的最后一个版本[ISO].rar 2012-06-13 09:53 0 1.txt 2012-06-12 11:56 17,755 2011年北航计算机考研复试上机题.rar ...

    华为编程开发规范与案例

    近日在CDB并行测试中发现一个问题:我们需要的小区负荷话统结果总是为零,开始还以为小区负荷太小,于是加大短消息下发数量,但还为零,于是在程序中加入测试代码,把收到的数据在BAM上打印出来, 结果打印出来的...

    java源码包2

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    最小二乘法matlab代码一元非线性-ML2:ML2

    最小二乘法matlab代码一元非线性 **教程,示例,集合以及所有其他类别的内容:模式分类,机器学习和数据挖掘。** 栏目 此流程图的[]。 机器学习和模式分类简介 [] 预测建模,监督式机器学习和模式分类-大图[] 入口点...

    最小二乘法matlab代码一元非线性-Classification:分类

    最小二乘法matlab代码一元非线性 **教程,示例,集合以及所有其他类别的内容:模式分类,机器学习和数据挖掘。** 栏目 此流程图的[]。 机器学习和模式分类简介 [] 预测建模,监督式机器学习和模式分类-大图[] 入口点...

    30条Java代码编写经验分享

    你知道写好Java代码的30条经验是什么吗?这篇文章主要为大家分享了30条Java代码编写经验技巧,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

Global site tag (gtag.js) - Google Analytics