hefeixia
2021-02-18 5b8c95c760840f09910730943b21391e47187315
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package frame.object.meta;
 
import java.sql.ResultSetMetaData;
 
import frame.persist.IMetaDataLoader;
import frame.persist.NamedSQL;
import frame.persist.SQLRunner;
import frame.persist.loader.ResultMetaFieldReader;
 
 
public class EntityMetaLoader implements IMetaDataLoader {
    
    private String metaName;
    private EntityMeta entityMeta;
    
    
    public EntityMetaLoader() {
    }
 
    public EntityMeta getEntityMetaByTable(String tableName) throws Exception {
        this.metaName = tableName;
        
        String sql = "select * from " + tableName + " where 1 <> 1";
        SQLRunner.getTableMetaData(this, sql);
        return entityMeta;
    }
    
    public EntityMeta getEntityMetaByNamedSQL(NamedSQL namedSQL) throws Exception {
        this.metaName = namedSQL.getName();
        
        SQLRunner.getTableMetaData(this, namedSQL.getSQL());
        return entityMeta;
    }
    
    public void load(ResultSetMetaData metaData) throws Exception {
        ResultMetaFieldReader fieldReader = new ResultMetaFieldReader(metaData);
        entityMeta = new EntityMeta(metaName, fieldReader);
    }
 
}