利用dom4j和反射将XML转为JavaBean

如果说XML与JavaBean的相互转换,JAXB即可搞定,不过兴起还是自己用jdom和反射写了个小工具,用于将xml表示的对象转为JavaBean。局限性很高,当前只处理了List和基础的对象类型,且xml不处理属性。原理很简单,先将xml表示的对象先转换为Map表示,之后通过反射生成对象,并将Map中保存的值set到对象中。

/**
	 * 将xml表示的bean转为Map表示
	 */
	public static Map<Object, Object> xml[......]

Read more

Posted in Java | Tagged | Leave a comment

SQL:in与exists,select 1

1. in与exists语句

in是把外表和内表作hash连接,而exists是外表做loop循环,每次loop循环再对内表进行查询。如果查询的两个表大小相当,那么用in和exists差别不大。但如果两个表一个较小一个较大,则子查询中的表大时用exists,而子查询中表小时用in。

 

例如:表A(小表),表B(大表)

1:select * from A where cc in (select cc from B) 效率低,用到了A表上cc列的索引;

se[......]

Read more

Posted in 数据库 | Tagged | Leave a comment

代码库:Servlet中获取客户端IP地址

一般情况下,我们通过HttpServletRequest的getRemoteAddr()方法即可获取客户端IP地址,但是由于在客户端跟服务器之间存在着代理,如nginx,apache等等,因此直接使用获得的可能是中间代理的IP地址,可采用下面的代码简单的获取IP地址,不过经实际测试,感觉还是不太准确,偶尔获取到的IP还是unknown:

public String getIP(HttpServletRequest request) {
		String ip = request.getHea[......]

Read more

Posted in J2EE | Tagged | Leave a comment