`
gary0416
  • 浏览: 330408 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

懒人专用,方便调试:反射生成hibernate映射类的toString方法

阅读更多

...不知道有没有和我一样懒的,表的列太多,一个一个弄太麻烦,每次都下断点调试更麻烦,还是直接输出省事

package ssh.util;

import java.lang.reflect.Method;
/**
 * 利用反射生成hibernate映射类的toString方法
 * @author gary
 *
 */
public class GenerateToString {

	/**
	 * 覆盖toString
	 * @param classPath 包名+类名,如ssh.vo.User
	 * @return
	 */
	public static String getToString(String classPath){
		Class<?> clazz = null;
		try {
			clazz = Class.forName(classPath);
		} catch (ClassNotFoundException e) {
			System.out.println("找不到类");
			return null;
		}
		
		StringBuffer sb = new StringBuffer();
		Method[] methods = clazz.getMethods();
		for (int i = 1; i < methods.length; i++) {
			String methodsName = methods[i].getName();
			if(methodsName.startsWith("set")){
				String attribute = (char)(methodsName.charAt(3) + 32) + methodsName.substring(4);
				sb.append(" + \"," + attribute + ": \" + " + attribute);
			}
		}
		return "public String toString(){return \"" + sb.substring(5) + ";}";
	}

}

 

junit测试:

@Test
	public void testGetToString() {
		System.out.println(GenerateToString.getToString("ssh.vo.User"));
	}

 

结果:

 

public String toString(){return "userId: " + userId + ",userName: " + userName + ",password: " + password + ",realName: " + realName + ",lastLoginIp: " + lastLoginIp + ",lastLoginTime: " + lastLoginTime;}

1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics