DAOを反射するときに役立ちます


USER VO

package com.hcwy.test.bean;

import java.util.Date;

public class User {

	private Integer userId;

	private String userName;

	private String password;

	private String name;

	private String email;

	private Date registTime;

	private String userRole;

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public Date getRegistTime() {
		return registTime;
	}

	public void setRegistTime(Date registTime) {
		this.registTime = registTime;
	}

	public Integer getUserId() {
		return userId;
	}

	public void setUserId(Integer userId) {
		this.userId = userId;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getUserRole() {
		return userRole;
	}

	public void setUserRole(String userRole) {
		this.userRole = userRole;
	}
}


Main


package com.hcwy.test.oper;

import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Date;

import com.hcwy.test.bean.User;

public class Operate {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		int qq=0;
		User user=new User();
		user.setEmail("1");
		user.setName("11");
		user.setPassword("111");
		user.setRegistTime(new Date());
		user.setUserId(1);
		user.setUserName("aa");
		user.setUserRole("aa");
		Object u=user;
		Class c=u.getClass();
		Field f[]= c.getDeclaredFields();
		for (int i = 0; i < f.length; i++) {
//			System.out.println(f[i].getName());
			String name="get"+f[i].getName().substring(0,1).toUpperCase()+f[i].getName().substring(1);
			System.out.println(name);
			try {
				Method m=c.getMethod(name, null);
				Object obj=m.invoke(u, null);
				if (obj instanceof String) {
					qq++;//JDBC  
				}
			} catch (SecurityException e) {
				e.printStackTrace();
			} catch (NoSuchMethodException e) {
				e.printStackTrace();
			} catch (IllegalArgumentException e) {
				e.printStackTrace();
			} catch (IllegalAccessException e) {
				e.printStackTrace();
			} catch (InvocationTargetException e) {
				e.printStackTrace();
			}
			
			
			
		}
		System.out.println("  "+qq+" String");
		
		
	}

}