![JAR search and dependency download from the Maven repository](/logo.png)
com.github.mengxianun.core.DataContext Maven / Gradle / Ivy
The newest version!
package com.github.mengxianun.core;
import java.io.IOException;
import java.util.Set;
import com.github.mengxianun.core.config.AssociationType;
import com.github.mengxianun.core.data.Summary;
import com.github.mengxianun.core.data.summary.MultiSummary;
import com.github.mengxianun.core.schema.Column;
import com.github.mengxianun.core.schema.Schema;
import com.github.mengxianun.core.schema.Table;
import com.github.mengxianun.core.schema.relationship.Relationship;
import com.github.mengxianun.core.schema.relationship.RelationshipPath;
public interface DataContext {
public Summary execute(NewAction action);
public MultiSummary execute(NewAction... actions);
public Summary executeSql(String sql);
public Summary executeNative(String statement);
public Schema getSchema();
public Schema loadSchema();
/**
* Get the table by table name and table alias
*
* @param nameOrAlias
* @return Table
*/
public Table getTable(String nameOrAlias);
/**
* Get the table by table name
*
* @param name
* @return Table
*/
public Table loadTable(String name);
/**
* Get columns by table name or table alias and column name or column alias
*
* @param tableNameOrAlias
* @param columnNameOrAlias
* @return Column
*/
public Column getColumn(String tableNameOrAlias, String columnNameOrAlias);
public Dialect getDialect();
public SQLBuilder getSQLBuilder(Action action);
public void destroy();
public boolean addRelationship(Column primaryColumn, Column foreignColumn, AssociationType associationType);
public boolean deleteRelationship(Column primaryColumn, Column foreignColumn);
public boolean deleteRelationship(Table primaryTable, Table foreignTable);
public void cleanRelationshipCache();
public Set getAllRelationships();
public Set getRelationships(String primaryTable, String foreignTable);
/**
* 获取2个表的关联关系, 包含所有可能的路径
*
*
*
TableA TableB TableC TableD
* Column1 Column1
* Column2 Column1
* Column3 Column1
* Column4 Column1
* Column2 Column1
* Column3 Column1
* Column2 Column1
*
*
* © 2015 - 2025 Weber Informatics LLC | Privacy Policy