Package cn.org.rapid_framework.generator.provider.db.table.model

Examples of cn.org.rapid_framework.generator.provider.db.table.model.Column


        }

    private static LinkedHashSet<Column> processWithCustomColumns(List<Column> customColumns,LinkedHashSet<Column> columns) {
        ColumnSet columnSet = new ColumnSet(customColumns);
      for(Column c : columns) {
                Column custom = columnSet.getBySqlName(c.getSqlName());
        if(custom != null) {
          c.setJavaType(custom.getJavaType());
        }
      }
      return columns;
    }
View Full Code Here


        private static List<Column> getCustomColumns(TableConfig table) throws Exception {
            List<Column> result = new ArrayList<Column>();
            Table t = table.getTable();
            for(ColumnConfig mc : table.getColumns()) {
                Column c = t.getColumnByName(mc.getName());
                if(c == null) {
                    c = new Column(null, JdbcType.UNDEFINED.TYPE_CODE, "UNDEFINED",
                        mc.getName(), -1, -1, false,false,false,false,
                        "",mc.getColumnAlias());
                }
                c.setJavaType(mc.getJavatype());
                if(StringHelper.isNotBlank(mc.getColumnAlias())) {
                  c.setColumnAlias(mc.getColumnAlias()); // FIXME custom column的 alias 现在的处理方式不好,应该不使用StringHelper.isNotBlank()判断
                }
                result.add(c);
            }
            return result;
        }
View Full Code Here

        }

        List columns = getTableColumns(table, primaryKeys, indices, uniqueIndices, uniqueColumns);

        for (Iterator i = columns.iterator(); i.hasNext(); ) {
           Column column = (Column)i.next();
           table.addColumn(column);
        }

        // In case none of the columns were primary keys, issue a warning.
        if (primaryKeys.size() == 0) {
View Full Code Here

           boolean isUnique = columnsInUniqueIndex != null && columnsInUniqueIndex.size() == 1;
           if (isUnique) {
              GLogger.trace("unique column:" + columnName);
           }
           Column column = new Column(
                 table,
                 sqlType,
                 sqlTypeName,
                 columnName,
                 size,
View Full Code Here

    }
 
  public boolean isColumnsInSameTable() {
    // FIXME 还要增加表的列数与columns是否相等,才可以为select 生成 include语句
    if(columns == null || columns.isEmpty()) return false;
    Column firstTable = columns.iterator().next();
    if(columns.size() == 1) return true;
    if(firstTable.getTable() == null) {
      return false;
    }
   
    String preTableName = firstTable.getTable().getSqlName();
    for(Column c :columns) {
      Table table = c.getTable();
      if(table == null) {
        return false;
      }
View Full Code Here

    private String joinColumnsSqlName() {
        // TODO 未解决 a.*,b.*问题
    StringBuffer sb = new StringBuffer();
    for(Iterator<Column> it = columns.iterator();it.hasNext();) {
      Column c = it.next();
      sb.append(c.getSqlName());
      if(it.hasNext()) sb.append(",");
    }
    return sb.toString();
  }
View Full Code Here

    }
    return null;
  }
 
  public Column getColumnByName(String name) {
      Column c = getColumnBySqlName(name);
      if(c == null) {
        c = getColumnBySqlName(StringHelper.toUnderscoreName(name));
      }
      return c;
  }
View Full Code Here

   
    private LinkedHashSet<Column> convert2Columns(Sql sql,ResultSetMetaData metadata) throws SQLException, Exception {
      if(metadata == null) return new LinkedHashSet();
      LinkedHashSet<Column> columns = new LinkedHashSet();
          for(int i = 1; i <= metadata.getColumnCount(); i++) {
            Column c = convert2Column(sql,metadata, i);
            if(c == null) throw new IllegalStateException("column must be not null");
        columns.add(c);
          }
      return columns;
    }
View Full Code Here

        //FIXME 如果表有别名,将会找不到表,如 inner join user_info t1, tableName将为t1,应该转换为user_info
        Table table = foundTableByTableNameOrTableAlias(sql, m.getTableName());
        if(table == null) {
          return newColumn(null,m);
        }
          Column column = table.getColumnBySqlName(m.getColumnNameOrLabel());
          if(column == null || column.getSqlType() != m.getColumnType()) {
              //可以再尝试解析sql得到 column以解决 password as pwd找不到column问题
              column = newColumn(table,m);
              GLogger.trace("not found column:"+m.getColumnNameOrLabel()+" on table:"+table.getSqlName()+" "+BeanHelper.describe(column));
              //isInSameTable以此种判断为错误
          }else {
View Full Code Here

      }
    }

    private Column newColumn(Table table,ResultSetMetaDataHolder m) {
      //Table table, int sqlType, String sqlTypeName,String sqlName, int size, int decimalDigits, boolean isPk,boolean isNullable, boolean isIndexed, boolean isUnique,String defaultValue,String remarks
      Column column = new Column(null,m.getColumnType(),m.getColumnTypeName(),m.getColumnNameOrLabel(),m.getColumnDisplaySize(),m.getScale(),false,false,false,false,null,null);
      GLogger.trace("not found on table by table emtpty:"+BeanHelper.describe(column));
      return column;
    }
View Full Code Here

TOP

Related Classes of cn.org.rapid_framework.generator.provider.db.table.model.Column

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.