private static String getCreatTableSQL(Class<?> clazz) { EntityInfo info = EntityInfo.build(clazz); StringBuffer sql = new StringBuffer(); sql.append("CREATE TABLE IF NOT EXISTS "); sql.append(info.getTable()); sql.append(" ( "); Map<String, String> propertys = info.getColumns(); Set<String> keys = propertys.keySet(); for (Iterator<String> iterator = keys.iterator(); iterator.hasNext(); ) { String key = iterator.next(); sql.append(propertys.get(key)); Class<?> dataType = BeanUtil.getDeclaredField(clazz, key).getType(); if (dataType == int.class || dataType == Integer.class || dataType == long.class || dataType == Long.class) { sql.append(" INTEGER"); } else if (dataType == float.class || dataType == Float.class || dataType == double.class || dataType == Double.class) { sql.append(" REAL"); } else if (dataType == boolean.class || dataType == Boolean.class) { sql.append(" NUMERIC"); } if (key.equals(info.pk)) { sql.append(" PRIMARY KEY"); if (info.pkAuto) { sql.append(" AUTOINCREMENT"); } } sql.append(","); } sql.deleteCharAt(sql.length() - 1); sql.append(" )"); return sql.toString(); }