懒人专用,便利调试:反射生成hibernate映射类的toString方法
懒人专用,方便调试:反射生成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;}