public DefaultJdbcExecutor(OrmContext ormContext) { this.context = ormContext; this.db = ormContext.getDb(); }
@Override public Db getDb() { return ormContext.getDb(); }
/** * Returns the {@link Db}. */ default Db db() { return getOrmContext().getDb(); }
@Override default Db getDb() { return getOrmContext().getDb(); }
protected AbstractDaoCommand(Dao dao){ this.dao = dao; this.context = dao.getOrmContext(); this.metadata = context.getMetadata(); this.db = context.getDb(); }
/** * Returns the {@link DbDialect}. */ default DbDialect dialect() { return getOrmContext().getDb().getDialect(); }
/** * Returns the {@link Db}. */ default Db db() { return context().getOrmContext().getDb(); }
/** * Returns the {@link DbDialect}. */ default DbDialect dialect() { return context().getOrmContext().getDb().getDialect(); }
protected AbstractDmoCommand(Dmo dmo){ this.dmo = dmo; this.context = dmo.getOrmContext(); this.db = context.getDb(); this.metadata = context.getMetadata(); this.metadataManager = context.getMetadataManager(); }
@Instrument public static Db db(){ return context().getOrmContext().getDb(); }
protected void toSql_(Appendable out, String dynamicLastName, Params params, OrmContext context) throws IOException{ if(null != firstName){ out.append(firstName).append('.'); } if(null != secondaryName){ out.append(secondaryName).append('.'); } if(null != dynamicLastName) { dynamicLastName = EL.createCompositeExpression(dynamicLastName).getValue(params.map()).toString(); out.append(dynamicLastName); Db db = context.getDb(); if(!db.checkTableExists(dynamicLastName)) { Dmo dmo = Dmo.get(context.getName()); dmo.cmdCreateTable(em).changeTableName(dynamicLastName).execute(); } }else if(null != em){ out.append(em.getTableName()); }else{ out.append(lastName); } }
protected SqlStatement createOrderByQueryStatement(QueryContext context, DynamicSql.ExecutionSqls sqls, Params params) { DynamicSqlLimitQuery limitQuery = new DynamicSqlLimitQuery(context, sqls, params); DefaultSqlStatementBuilder stm = limitQuery.buildStatement(context.getOrmContext().getDb()); return stm.build(); }
protected String createCompositeFindListSql(Params p, List<Params> ids){ DbDialect dialect = context.getDb().getDialect(); DbTable table = em.getTable();
void migrate(OrmContext oc) { Flyway flyway = createFlyway(oc); if(null != flyway) { if(!oc.getDb().checkTableExists(flyway.getTable())) { flyway.baseline(); } flyway.migrate(); } }
protected void readMap(OrmContext context,ResultSet rs,ResultSetMapping rsm,Map<String,Object> map) throws SQLException { DbDialect dialect = context.getDb().getDialect(); final boolean convertForMap = context.getConfig().isConvertPropertyForReadMap(); for(int i=0;i<rsm.getColumnCount();i++){ ResultColumnMapping cm = rsm.getColumnMapping(i); FieldMapping fm = cm.getFieldMapping(); Object value = convertForMap ? readColumnValue(dialect, rs, cm, fm, i+1) : readColumnValueForMap(dialect, rs, cm, fm, i+1); map.put(cm.getResultName(), value); } }
public void mappingAutoIncrement(MetadataContext context, EntityMappingBuilder emb, FieldMappingBuilder fmb){ fmb.getColumn().setAutoIncrement(true); emb.setInsertInterceptor(context1 -> { if(!context1.isReturnGeneratedId()){ return null; } return context1.getOrmContext().getDb().getDialect().getAutoIncrementIdHandler(input -> context1.setGeneratedId(input)); }); }
protected Object readModel(OrmContext context,ResultSet rs,ResultSetMapping rsm,Class<? extends Model> modelClass) throws SQLException { Model model = Reflection.newInstance(modelClass); model.init(context, rsm.getPrimaryEntityMapping()); DbDialect dialect = context.getDb().getDialect(); for(int i=0;i<rsm.getColumnCount();i++){ ResultColumnMapping cm = rsm.getColumnMapping(i); FieldMapping fm = cm.getFieldMapping(); String name = null != fm ? fm.getFieldName() : cm.getNormalizedName(); Object value = readColumnValue(dialect, rs, cm, fm, i+1); model.set(name, value); if(Strings.isNotEmpty(cm.getAliasName()) && !name.equals(cm.getAliasName())){ model.set(cm.getAliasName(), value); } } return model; }
DbDialect dialect = context.getDb().getDialect();
protected void createMetadata(OrmContext oc, MetaApi api) { mappingDatabase(oc.getDb(), api); MappingSchema ms = ormConverter.toMappingSchema(oc, api); for(EntityMapping em : ms.getEntityMappings()) { oc.getMetadataManager().createEntity(oc, em); } //load sqls oc.getMetadataManager().loadSqls(oc); //convert sqls Map<String, SqlCommand> commands = ormConverter.toSqlCommands(oc, api); commands.forEach((k,c) -> { SqlCommand old = oc.getMetadata().tryGetSqlCommand(k); if(null != old) { log.info("The sql command '{}' from '{}' will be replaced by '{}'", k, old.getSource(), c.getSource()); oc.getMetadata().removeSqlCommand(k); } oc.getMetadata().addSqlCommand(k, c); }); }
public void mappingSequence(MetadataContext context, EntityMappingBuilder emb,final FieldMappingBuilder fmb){ SequenceMappingBuilder seq = new SequenceMappingBuilder(); setSequenceProperties(context, emb, fmb, seq); fmb.setSequenceName(seq.getName()); if(null == context.getMetadata().tryGetSequenceMapping(seq.getName())){ context.getMetadata().addSequenceMapping(seq.build()); }else{ log.info("Sequence '{}' already exists, skip adding it into the metadata",seq.getName()); } emb.setInsertInterceptor(context1 -> { if(!context1.isReturnGeneratedId()){ return null; } return context1.getOrmContext().getDb().getDialect() .getInsertedSequenceValueHandler(fmb.getSequenceName(), input -> context1.setGeneratedId(input)); }); }