@Override public IOrmCRUDQuery generate() { final OrmCRUDQuery crud = new OrmCRUDQuery(); crud.setDeleteQuery( generateDeleteQuery() ); crud.setLoadQuery( generateLoadQuery() ); crud.setSaveQuery( generateSaveQuery(false) ); crud.setSaveQueryWithoutGenerators( generateSaveQuery(true) ); crud.setUpdateQuery( generateUpdateQuery() ); crud.setBaseSelectClause( generateBaseSelectClause() ); crud.setBaseFromClause( generateBaseFromClause() ); crud.setBeanVersionQuery( generateBeanVersionQuery() ); return crud; }
@Override public String getBaseSelectClause() { return getBaseSelectClause(getBaseFromClause() + "."); }
public static AColumnValueGenerator nullGenerator(String name) { return new NullColumnValueGenerator(name); }
public void ormCrudWithSequence(SessionProvider sessionProvider) throws Exception { final Class<People> clazz = People.class; final TableMap<People> tableMap = new TableMap<People>(); new ClassTableMapBuilder<People>(clazz, tableMap).updateTableMap(); final IClassMapperBuilder<People> classMapperGenerator = new ClassMapperBuilder<People>(clazz, tableMap); final IClassMapper<People> classMapper = classMapperGenerator.generate(); assertNotNull(classMapper); final IOrmCRUDQueryGenerator<People> ormGenerator = new OrmCRUDQueryGenerator<People>(new DefaultDialect(), classMapper); final IOrmCRUDQuery ormCrudQuery = ormGenerator.generate(); assertNotNull(ormCrudQuery); System.out.println(ormCrudQuery.getLoadQuery()); System.out.println(ormCrudQuery.getUpdateQuery()); System.out.println(ormCrudQuery.getDeleteQuery()); System.out.println(ormCrudQuery.getSaveQuery()); }
public void ormCrudWithSchema(final SessionProvider sessionProvider) throws Exception { final IClassMap<Zoo_People> classMapper = new ClassMapBuilder<Zoo_People>(Zoo_People.class).generate(); assertNotNull(classMapper); final OrmCRUDQueryGenerator<Zoo_People> ormGenerator = new OrmCRUDQueryGenerator<Zoo_People>(new DefaultDialect(), classMapper); final CRUDQuery ormCrudQuery = ormGenerator.generate(); assertNotNull(ormCrudQuery); System.out.println(ormCrudQuery.getLoadQuery()); System.out.println(ormCrudQuery.getUpdateQuery()); System.out.println(ormCrudQuery.getDeleteQuery()); System.out.println(ormCrudQuery.getSaveQuery()); }
public void ormCrudSelectFromClause(final SessionProvider sessionProvider) throws Exception { final IClassMap<Zoo_People> classMapper = new ClassMapBuilder<Zoo_People>(Zoo_People.class).generate(); assertNotNull(classMapper); final OrmCRUDQueryGenerator<Zoo_People> ormGenerator = new OrmCRUDQueryGenerator<Zoo_People>(new DefaultDialect(), classMapper); final CRUDQuery ormCrudQuery = ormGenerator.generate(); assertNotNull(ormCrudQuery); System.out.println(ormCrudQuery.getBaseSelectClause()); System.out.println(ormCrudQuery.getBaseSelectClause("alias.")); System.out.println(ormCrudQuery.getBaseFromClause()); assertEquals("ZOO.PEOPLE.FIRSTCLOB, ZOO.PEOPLE.ID, ZOO.PEOPLE.SECONDBLOB, ZOO.PEOPLE.BIRTHDATE, ZOO.PEOPLE.LASTNAME, ZOO.PEOPLE.FIRSTNAME, ZOO.PEOPLE.FIRSTBLOB, ZOO.PEOPLE.DEATHDATE", ormCrudQuery.getBaseSelectClause()); assertEquals("alias.FIRSTCLOB, alias.ID, alias.SECONDBLOB, alias.BIRTHDATE, alias.LASTNAME, alias.FIRSTNAME, alias.FIRSTBLOB, alias.DEATHDATE", ormCrudQuery.getBaseSelectClause("alias.")); assertEquals("ZOO.PEOPLE", ormCrudQuery.getBaseFromClause()); } }
public void ormCrudSelectFromClause(SessionProvider sessionProvider) throws Exception { final Class<Zoo_People> clazz = Zoo_People.class; final TableMap<Zoo_People> tableMap = new TableMap<Zoo_People>(); new ClassTableMapBuilder<Zoo_People>(clazz, tableMap).updateTableMap(); final IClassMapperBuilder<Zoo_People> classMapperGenerator = new ClassMapperBuilder<Zoo_People>(clazz, tableMap); final IClassMapper<Zoo_People> classMapper = classMapperGenerator.generate(); assertNotNull(classMapper); final IOrmCRUDQueryGenerator<Zoo_People> ormGenerator = new OrmCRUDQueryGenerator<Zoo_People>(new DefaultDialect(), classMapper); final IOrmCRUDQuery ormCrudQuery = ormGenerator.generate(); assertNotNull(ormCrudQuery); System.out.println(ormCrudQuery.getBaseSelectClause()); System.out.println(ormCrudQuery.getBaseSelectClause("alias.")); System.out.println(ormCrudQuery.getBaseFromClause()); assertEquals("ZOO.PEOPLE.FIRSTCLOB, ZOO.PEOPLE.ID, ZOO.PEOPLE.SECONDBLOB, ZOO.PEOPLE.BIRTHDATE, ZOO.PEOPLE.LASTNAME, ZOO.PEOPLE.FIRSTNAME, ZOO.PEOPLE.FIRSTBLOB, ZOO.PEOPLE.DEATHDATE", ormCrudQuery.getBaseSelectClause()); assertEquals("alias.FIRSTCLOB, alias.ID, alias.SECONDBLOB, alias.BIRTHDATE, alias.LASTNAME, alias.FIRSTNAME, alias.FIRSTBLOB, alias.DEATHDATE", ormCrudQuery.getBaseSelectClause("alias.")); assertEquals("ZOO.PEOPLE", ormCrudQuery.getBaseFromClause()); } }
private void verifyAnnotationGenerator(Generator generator, StringBuffer columnName, GenericWrapper<AColumnValueGenerator> columnValueGeneratorWrapper, Field field, TableMap<T> tableMap) { if (generator!=null) { final AColumnValueGenerator columnValueGenerator = ColumnValueGeneratorFactory.generator(generator.generatorType(), generator.name()); if (tableMap.hasGeneratedField()) { throw new OrmConfigurationException("A bean can have maximum one field annotated with @" + Generator.class.getSimpleName() + ". Error in class:[" + clazz.getCanonicalName() + "] field: [" + field.getName() + "]"); } tableMap.setHasGeneratedField(true); columnValueGenerator.setCacheSize(generator.getCacheSize()); columnValueGenerator.setActivateValues(generator.ifValueIn()); columnValueGenerator.setGeneratedColumnName(columnName.toString()); columnValueGeneratorWrapper.setValue(columnValueGenerator); } }
public static AColumnValueGenerator generator(GeneratorType generatorType, String name) { if (generatorType.equals( GeneratorType.SEQUENCE ) ) { return new SequenceColumnValueGenerator(name); } if (generatorType.equals( GeneratorType.AUTOGENERATED ) ) { return new AutogeneratedColumnValueGenerator(name); } return nullGenerator(name); }
private String generateSaveQuery(boolean ignoreGenerators) { final StringBuilder builder = new StringBuilder("INSERT INTO "); builder.append(classMapper.getTableMap().getTableNameWithSchema()); builder.append(" ("); builder.append( columnToCommaSepareted( getColumnNames(classMapper , "", classMapper.getAllColumnJavaNames()), ignoreGenerators )); builder.append(") VALUES ("); builder.append( questionCommaSepareted( classMapper, getColumnNames(classMapper , "", classMapper.getAllColumnJavaNames()), ignoreGenerators )); builder.append(")"); final String query = builder.toString(); logger.info("generateSaveQuery", "Generated INSERT query (with generators? " + !ignoreGenerators + ") for table [" + classMapper.getTableMap().getTableNameWithSchema() + "]:\n" + query ); return query; }
private String generateBaseSelectClause() { return columnToCommaSepareted( getColumnNames(classMapper , ICrudConstants.ROW_NAME_PREFIX_PLACEHOLDER, classMapper.getAllColumnJavaNames()), true ); }
private void renderSelect(StringBuilder stringBuilder) { final String alias = this.nameSolver.alias(this.clazz); stringBuilder.append("SELECT "); if (this.distinct) { stringBuilder.append("DISTINCT "); } stringBuilder.append(this.ormClassToolMap.getOrmClassTool(this.clazz).getOrmCRUDQuery().getBaseSelectClause(alias + ".") ); stringBuilder.append(" "); }
private String generateLoadQuery() { final StringBuilder builder = new StringBuilder("SELECT * FROM "); builder.append(classMapper.getTableMap().getTableNameWithSchema()); if ( classMapper.getPrimaryKeyColumnJavaNames().length>0 ) { builder.append(" WHERE "); builder.append( columnToWhereClause( getColumnNames(classMapper, "", classMapper.getPrimaryKeyColumnJavaNames()) )); } final String query = builder.toString(); logger.info("generateLoadQuery", "Generated SELECT query for table [" + classMapper.getTableMap().getTableNameWithSchema() + "]:\n" + query ); return query; }
@Override public AColumnValueGenerator getGeneratorByColumnName(String columnName, boolean ignoreGenerators) { if (!ignoreGenerators && generatorByColumnName.containsKey(columnName)) { return generatorByColumnName.get(columnName); } return ColumnValueGeneratorFactory.nullGenerator(columnName); }
@Override public String insertQueryParameter(Dialect dialect, String currentValue) { return dialect.insertQuerySequence(getName()); }
public void ormCrudWithSchema(SessionProvider sessionProvider) throws Exception { final Class<Zoo_People> clazz = Zoo_People.class; final TableMap<Zoo_People> tableMap = new TableMap<Zoo_People>(); new ClassTableMapBuilder<Zoo_People>(clazz, tableMap).updateTableMap(); final IClassMapperBuilder<Zoo_People> classMapperGenerator = new ClassMapperBuilder<Zoo_People>(clazz, tableMap); final IClassMapper<Zoo_People> classMapper = classMapperGenerator.generate(); assertNotNull(classMapper); final IOrmCRUDQueryGenerator<Zoo_People> ormGenerator = new OrmCRUDQueryGenerator<Zoo_People>(new DefaultDialect(), classMapper); final IOrmCRUDQuery ormCrudQuery = ormGenerator.generate(); assertNotNull(ormCrudQuery); System.out.println(ormCrudQuery.getLoadQuery()); System.out.println(ormCrudQuery.getUpdateQuery()); System.out.println(ormCrudQuery.getDeleteQuery()); System.out.println(ormCrudQuery.getSaveQuery()); }
public void ormCrudWithSequence(final SessionProvider sessionProvider) throws Exception { final IClassMap<People> classMapper = new ClassMapBuilder<People>(People.class).generate(); assertNotNull(classMapper); final OrmCRUDQueryGenerator<People> ormGenerator = new OrmCRUDQueryGenerator<People>(new DefaultDialect(), classMapper); final CRUDQuery ormCrudQuery = ormGenerator.generate(); assertNotNull(ormCrudQuery); System.out.println(ormCrudQuery.getLoadQuery()); System.out.println(ormCrudQuery.getUpdateQuery()); System.out.println(ormCrudQuery.getDeleteQuery()); System.out.println(ormCrudQuery.getSaveQuery()); }
@Override public AColumnValueGenerator getGeneratorByJavaFieldName(String javaFieldName) { if (generatorByJavaFieldName.containsKey(javaFieldName)) { return generatorByJavaFieldName.get(javaFieldName); } return new NullColumnValueGenerator(""); }
public void ormCrud(SessionProvider sessionProvider) throws Exception { final Class<Employee> clazz = Employee.class; final TableMap<Employee> tableMap = new TableMap<Employee>(); new ClassTableMapBuilder<Employee>(clazz, tableMap).updateTableMap(); final IClassMapperBuilder<Employee> classMapperGenerator = new ClassMapperBuilder<Employee>(clazz, tableMap); final IClassMapper<Employee> classMapper = classMapperGenerator.generate(); assertNotNull(classMapper); final IOrmCRUDQueryGenerator<Employee> ormGenerator = new OrmCRUDQueryGenerator<Employee>(new DefaultDialect(), classMapper); final IOrmCRUDQuery ormCrudQuery = ormGenerator.generate(); assertNotNull(ormCrudQuery); System.out.println(ormCrudQuery.getLoadQuery()); System.out.println(ormCrudQuery.getUpdateQuery()); System.out.println(ormCrudQuery.getDeleteQuery()); System.out.println(ormCrudQuery.getSaveQuery()); }
public void ormCrud(final SessionProvider sessionProvider) throws Exception { final IClassMap<Employee> classMapper = new ClassMapBuilder<Employee>(Employee.class).generate(); assertNotNull(classMapper); final OrmCRUDQueryGenerator<Employee> ormGenerator = new OrmCRUDQueryGenerator<Employee>(new DefaultDialect(), classMapper); final CRUDQuery ormCrudQuery = ormGenerator.generate(); assertNotNull(ormCrudQuery); System.out.println(ormCrudQuery.getLoadQuery()); System.out.println(ormCrudQuery.getUpdateQuery()); System.out.println(ormCrudQuery.getDeleteQuery()); System.out.println(ormCrudQuery.getSaveQuery()); }