javabean自动生成器

public class JavaBeanGenerater {
	public static String uncapitalize(String s){
		StringBuffer sb = new StringBuffer();
		if (s!=null&&s.length()>0) {
			char f = s.charAt(0);
			String s1 = (f+"").toLowerCase();
			sb.append(s1);
			if (s.length()>1) {
				String s2 = s.substring(1);
				sb.append(s2);
			}
		}
		return sb.toString();
	}
	public static String dbTypeToJavaType(String type){
		if (type.equals("INT")) {
			return "int";
		}else if (type.equals("VARCHAR")) {
			return "String";
		}else if (type.equals("DATETIME")) {
			return "Date";
		}else if (type.equals("TIMESTAMP")) {
			return "Date";
		}else if (type.equals("LONG")) {
			return "long";
		}else if (type.equals("DOUBLE")) {
			return "double";
		}else if (type.equals("FLOAT")) {
			return "float";
		}else{
			return "String";
		}
	}
	
	public static Map<String, String> columnToField(Map<String, String> map){
		Map<String, String> fields = new HashMap<String, String>();
		if (map!=null) {
			Set<String> columns = map.keySet();
			for (String col : columns) {
				String field = uncapitalize(col);
				String type = map.get(col);
				String java_type =  dbTypeToJavaType(type);
//				System.out.println(field+"="+java_type);
				fields.put(field, java_type);
			}
		}
		return fields;
	}
	
	public static void main(String[] args) throws SQLException {
		
		MysqlDAO dao = new MysqlDAO();
		List<String> tables = dao.queryTables();
		for (String table : tables) {
			System.out.println("public class "+table+"{");
			Map<String, String> columns = dao.queryTableColumn(table);
			Map<String, String> fields = columnToField(columns);
			Set<String> keys = fields.keySet();
			List<String> keys_sort = new ArrayList<String>(keys);
			Collections.sort(keys_sort);
			
			for (String key : keys_sort) {
				String type = fields.get(key);
				System.out.println("\t private "+type+" "+key+";");
			}
			System.out.println("}");
			System.out.println();
		}
		
	}
	
}

猜你喜欢

转载自itace.iteye.com/blog/1966683