📄 dbtable.java
字号:
package com.easyjf.dbo;
import java.util.*;
/**
*
* <p>
* Title: 关系表写定义信息
* </p>
*
* <p>
* Description: 定义一个关系表的内容
* </p>
*
* <p>
* Copyright: Copyright (c) 2006
* </p>
*
* <p>
* Company: EasyJF开源团队-EasyDBO项目组
* </p>
*
* @author 大峡
* @version 1.0
*/
public class DBTable {
/**
* 库名
*/
private String catalog;
/**
* 表字段,一张表有多个字段,这是原始的JDBC封装使用的所
*/
private final Map fields = new java.util.HashMap();
/**
* po类型字段,用于扩充对OneToOne、ManyToOne等对象之间关系的映射
*/
private final Map classField = new java.util.HashMap();
/**
* 表主键
*/
private String id;
/**
* 表主键生成器
*/
private String idGenerator;
/**
* 表名
*/
private String name;
/**
* 所有者
*/
private String schema;
/**
* lazy load
*
*/
private boolean lazy = false;
private Vector types = new Vector();
private Vector params = new Vector();
/**
*
*/
public DBTable() {
this("", "");
}
/**
*
* @param name
* String
*/
public DBTable(String name) {
this(name, "");
}
/**
*
* @param name
* String
* @param id
* String
*/
public DBTable(String name, String id) {
this(name, id, "");
}
/**
*
* @param name
* String
* @param id
* String
* @param idGenerator
* String
*/
public DBTable(String name, String id, String idGenerator) {
this.name = name;
this.id = id;
this.idGenerator = idGenerator;
}
// ~--- methods ------------------------------------------------------------
/**
*
* @param key
* String
* @param value
* DBField
*/
public void addField(String key, DBField value) {
fields.put(key, value);
}
public DBField getField(String popertyName)
{
DBField field=findField(popertyName);
if(field==null)field=findClassField(popertyName);
return field;
}
/**
*
* @param fieldName
* String
* @return DBField
*/
public DBField findField(String fieldName) {
return (DBField) fields.get(fieldName);
}
public ClassField findClassField(String popertyName) {
return (ClassField) classField.get(popertyName);
}
public DBField findFieldByColuman(String column)
{
java.util.Iterator it=fields.values().iterator();
while(it.hasNext())
{
DBField field=(DBField)it.next();
if(column.equalsIgnoreCase(field.getName()))return field;
}
return null;
}
/**
*
* @param fieldName
* String
*/
public void removeField(String fieldName) {
fields.remove(fieldName);
}
/**
*
* @return String
*/
public String toString() {
return "name=" + this.getName() + ";id=" + this.getId() + ";generator="
+ this.getIdGenerator() + ";field number="
+ this.getFields().size();
}
/**
*
* @return String
*/
public String getCatalog() {
return catalog;
}
/**
*
* @return Map
*/
public Map getFields() {
return fields;
}
public Map getAllFields()
{
Map ret=new HashMap(fields);
ret.putAll(classField);
return ret;
}
/**
*
* @return String
*/
public String getId() {
return id;
}
/**
*
* @return String
*/
public String getIdGenerator() {
return idGenerator;
}
/**
*
* @return DBField
*/
public DBField getKeyFiled() {
return (DBField) fields.get(id);
}
/**
*
* @return String
*/
public String getName() {
return name;
}
/**
*
* @param fieldName
* String
* @return String
*/
public String getPoperty(String fieldName) {
String ret = null;
Iterator it = fields.entrySet().iterator();
ret = getPoperty(it, fieldName);
if (ret == null) {
ret = getPoperty(classField.entrySet().iterator(), fieldName);
}
return ret;
}
private String getPoperty(java.util.Iterator it, String fieldName) {
String ret = null;
while (it.hasNext()) {
Map.Entry field = (Map.Entry) it.next();
if (fieldName.equalsIgnoreCase(((DBField) field.getValue())
.getName())) {
ret = (String) field.getKey();
break;
}
}
return ret;
}
public Class getType(String fieldName) {
Class ret = null;
Iterator it = fields.entrySet().iterator();
ret = getType(it, fieldName);
if(ret==null)ret=getType(classField.entrySet().iterator(),fieldName);
return ret;
}
private Class getType(Iterator it, String fieldName) {
Class ret = null;
while (it.hasNext()) {
Map.Entry field = (Map.Entry) it.next();
if (fieldName.equalsIgnoreCase(((DBField) field.getValue())
.getName())) {
ret = ((DBField) field.getValue()).getType();
break;
}
}
return ret;
}
/**
*
* @return String
*/
public String getSchema() {
return schema;
}
// ~--- set methods --------------------------------------------------------
/**
*
* @param catalog
* String
*/
public void setCatalog(String catalog) {
this.catalog = catalog;
}
/**
*
* @param id
* String
*/
public void setId(String id) {
this.id = id;
}
/**
*
* @param idGenerator
* String
*/
public void setIdGenerator(String idGenerator) {
this.idGenerator = idGenerator;
}
/**
*
* @param name
* String
*/
public void setName(String name) {
this.name = name;
}
/**
*
* @param schema
* String
*/
public void setSchema(String schema) {
this.schema = schema;
}
public void setLazy(String lazy) {
if (lazy.equalsIgnoreCase("true")) {
this.lazy = true;
} else
this.lazy = false;
}
public boolean getLazy() {
return lazy;
}
public void setTypes(Object type) {
types.add(type);
}
public void setParams(Object param) {
params.add(param);
}
public Map getClassField() {
return classField;
}
public void addClassField(String name, ClassField field) {
classField.put(name, field);
}
public void concat(DBTable table)
{
fields.putAll(table.getFields());
classField.putAll(table.getClassField());
if("".equals(this.name))this.name=table.getName();
if("".equals(this.id))this.id=table.getId();
if("".equals(this.idGenerator))this.idGenerator=table.getIdGenerator();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -