public EntityInfo build() { return new EntityInfo(entityClass, tableName, columns); }
LoadDataRowBuilder(EntityInfo entityInfo) { this.columns = entityInfo.getColumns(); }
@SuppressWarnings("unchecked") public Builder(EntityInfo entityInfo) { this.clazz = (Class<T>) entityInfo.getEntityClass(); this.entityInfo = entityInfo; }
@Override public String createTableSentence(EntityInfo entityInfo) { StringBuilder sb = new StringBuilder("CREATE TABLE "); sb.append(entityInfo.getTableName()); sb.append(" ("); List<ColumnInfo> columns = entityInfo.getColumns(); for (int i = 0; i < columns.size(); i++) { ColumnInfo columnInfo = columns.get(i); String dbType = getDbType(columnInfo.getFieldType()); if (dbType == null) { throw new RuntimeException("Type not found for " + columnInfo.getFieldType().getFieldType().name()); } sb.append(columnInfo.getColumnName()).append(" "); sb.append(dbType); if (columnInfo.getFieldType().isPrimitive()) { sb.append(" NOT NULL"); } if (i < columns.size() - 1) { sb.append(", "); } } sb.append(getPrimaryKey(columns)); sb.append(")"); return sb.toString(); }
public void addCopyTable() { sb.append("COPY ").append(entityInfo.getTableName()).append(" "); }
public JdbcBulkInsert(JdbcConfiguration config) { this.cfg = config; this.columns = cfg.getEntityInfo().getNotIdentityColumns(); this.insertSql = createInsertQuery(cfg.getEntityInfo().getTableName(), columns); for (ColumnInfo column : columns) { accessors.add(column.getAccessor()); } FieldPreConvert fieldPreConvert = new FieldPreConvert(); for (ColumnInfo column : columns) { preConvert.add(fieldPreConvert.preConvert(column.getFieldType())); } }
PgCopyRowBuilder(EntityInfo entityInfo) { this.columns = entityInfo.getNotIdentityColumns(); }
@Override public String createTableSentence(EntityInfo entityInfo) { StringBuilder sb = new StringBuilder("CREATE TABLE "); sb.append(scapeName(entityInfo.getTableName())); sb.append(" ("); List<ColumnInfo> columns = entityInfo.getColumns(); for (int i = 0; i < columns.size(); i++) { ColumnInfo columnInfo = columns.get(i); String dbType = getDbType(columnInfo.getFieldType()); if (dbType == null) { throw new RuntimeException("Type not found for " + columnInfo.getFieldType().getFieldType().name()); } sb.append(scapeName(columnInfo.getColumnName())).append(" "); sb.append(dbType); if (columnInfo.getFieldType().isPrimitive()) { sb.append(" NOT NULL"); } sb.append(getAutoIncrement(columnInfo)); if (i < columns.size() - 1) { sb.append(", "); } } sb.append(getPrimaryKey(columns)); sb.append(") DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci"); return sb.toString(); }
public void addLoadDataIntoTable() { sb.append("LOAD DATA LOCAL INFILE '' INTO TABLE "); sb.append(scapeName(entityInfo.getTableName())).append(" "); }
public void addColumnNames() { sb.append("("); List<ColumnInfo> columns = entityInfo.getNotIdentityColumns(); sb.append(columns.stream().map(ColumnInfo::getColumnName).collect(Collectors.joining(", "))); sb.append(")"); }
@Override public String dropTableSentence(EntityInfo entityInfo) { StringBuilder sb = new StringBuilder("DROP TABLE IF EXISTS "); sb.append(entityInfo.getTableName()); return sb.toString(); }
@SuppressWarnings("unchecked") public CsvConfiguration(EntityInfo entityInfo) { this.entityInfo = entityInfo; this.clazz = (Class<T>) entityInfo.getEntityClass(); }
public EntityInfo inspect() { JpaFieldsInspector fieldsInspector = new JpaFieldsInspector(); List<FieldInfo> fieldsFromClass = fieldsInspector.getFieldsFromClass(entityClass); EntityFieldAccesorFactory factory = new EntityFieldAccesorFactory(); List<ColumnInfo> columns = fieldsFromClass.stream().map(field -> { Function<Object, Object> accessor = factory.getAccessor(entityClass, field.getFieldName()); return new ColumnInfo(field.getColumnName(), field.getFieldType(), accessor); }).collect(Collectors.toList()); return new EntityInfo(entityClass, getTableName(), columns); }
public void addColumnNames() { sb.append("("); List<ColumnInfo> columns = entityInfo.getColumns(); sb.append(columns.stream().map(ColumnInfo::getColumnName) .map(this::scapeName).collect(Collectors.joining(", "))); sb.append(")"); }
@Override public String dropTableSentence(EntityInfo entityInfo) { StringBuilder sb = new StringBuilder("DROP TABLE IF EXISTS "); sb.append(scapeName(entityInfo.getTableName())); return sb.toString(); }
public LoadDataBulkInsert(LoadDataConfiguration loadDataConfiguration) { this.cfg = loadDataConfiguration; SqlBuilder sqlBuiler = new SqlBuilder(cfg.getEntityInfo()); mainSql = sqlBuiler.build(); logger.debug("SQL Insert for {}: {}", cfg.getEntityInfo().getEntityClass().getName(), mainSql); logger.debug("Batch size: {} bytes", cfg.getBatchSize()); }
public EntityInfo buildEntity() { ColumnInfo c1 = new ColumnInfo("column1", null, null); ColumnInfo c2 = new ColumnInfo("column2", null, null); return new EntityInfo(null, "simple_table", Arrays.asList(c1, c2)); }
public ColumnInfo findColumn(String columnName) { return entityInfo.getColumns().stream().filter(c -> c.getColumnName().equals(columnName)).findFirst().get(); }
@Test public void inspectTableNameByEntityName() { JpaEntityInspector inspector = new JpaEntityInspector(SimpleEntityUnannotated.class); EntityInfo entityInfo = inspector.inspect(); assertEquals("simpleentityunannotated", entityInfo.getTableName()); }
public PgCopyBulkInsert(PgCopyConfiguration config) { this.cfg = config; this.mainSql = new SqlBuilder(config.getEntityInfo()).build(); logger.debug("SQL Insert for {}: {}", config.getEntityInfo().getEntityClass().getName(), mainSql); logger.debug("Batch size: {} bytes", config.getBatchSize()); }