示例#1
0
 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();
 }