manytoonefield.java

来自「 EasyDBO是一个超轻量级对象-关系映射(Object/Relation M」· Java 代码 · 共 45 行

JAVA
45
字号
package com.easyjf.dbo;

import java.util.ArrayList;
import java.util.List;
import java.util.Set;

import com.easyjf.beans.BeanWrapper;

public class ManyToOneField extends ClassField {
	protected Class fieldType=ArrayList.class;
	protected Object getValue(DBObject parent, EasyJDB db) {
		Class type=this.getType();
		String key=this.getKey();
		String column=this.getColumn();
		String tableName=this.getTableName();
		Object obj=null;
		Class fieldType=this.fieldType;	
		
		java.util.Collection paras=new java.util.ArrayList();
		//BeanWrapper wrapper=new BeanWrapper(parent);
		//paras.add(wrapper.getPropertyValue(key));
		paras.add(parent.get(key));
		//System.out.println("主键:"+parent.get(key));
		List list=db.query(type, column+"=?", paras);			
		if(Set.class.isAssignableFrom(this.fieldType))
		{
		obj=com.easyjf.beans.BeanUtils.instantiateClass(this.fieldType);
		((Set)obj).addAll(list);
		}
		else
		{
			obj=list;
		}
		//System.out.println("查询结果"+list.size()+":"+obj.getClass());
		return obj;
	}
	public Class getFieldType() {
		return fieldType;
	}
	public void setFieldType(Class fieldType) {
		this.fieldType = fieldType;
	}
	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?