我在最基础的登录系统时,遇到一个问题
我想实现数据库中的所有表公用一套增、删、改、查方法
假设有两个Bean类——arraylist,
public class BeanA public class BeanB
{ {
get、set方法 get、set方法
} }
有一个Servlet类ServletC,
piblic class ServletC
{
doPost()
{
DBOper oper=new DBOper();
BeanA a=new BeanA();
oper.SelectCommon(arraylist,a);
}
}
有一个类中实现公用的增、删、改、查方法。——DBOper.java
public class DBOper
{
public ArrayList SelectCommon(ArrayList arraylist,Object obj)
{
/*arraylist使用来构造通用SQL语句的,obj用来接收arraylist对象
因为不知道传的是哪一个Bean的对象,所以只能用Object类型,
使用构造好的SQL语句可以得到ResultSet, 但显然obj调不出Get、
Set方法怎么让obj转到调用这个函数时传的对象(在本例中就是将obj
还原成BeanA的对象a)
我曾这样试过:
String ClassName=obj.getClass().getName();
//这句可以将a的类取出来
System.out.println(ClassName);//显示:包名.BeanA
obj=Class.forName(ClassName).newInstance();
不行,newInstance的返回值也是Object,
请问各位高手怎么解决这个问题*/
}
}
我想实现数据库中的所有表公用一套增、删、改、查方法
假设有两个Bean类——arraylist,
public class BeanA public class BeanB
{ {
get、set方法 get、set方法
} }
有一个Servlet类ServletC,
piblic class ServletC
{
doPost()
{
DBOper oper=new DBOper();
BeanA a=new BeanA();
oper.SelectCommon(arraylist,a);
}
}
有一个类中实现公用的增、删、改、查方法。——DBOper.java
public class DBOper
{
public ArrayList SelectCommon(ArrayList arraylist,Object obj)
{
/*arraylist使用来构造通用SQL语句的,obj用来接收arraylist对象
因为不知道传的是哪一个Bean的对象,所以只能用Object类型,
使用构造好的SQL语句可以得到ResultSet, 但显然obj调不出Get、
Set方法怎么让obj转到调用这个函数时传的对象(在本例中就是将obj
还原成BeanA的对象a)
我曾这样试过:
String ClassName=obj.getClass().getName();
//这句可以将a的类取出来
System.out.println(ClassName);//显示:包名.BeanA
obj=Class.forName(ClassName).newInstance();
不行,newInstance的返回值也是Object,
请问各位高手怎么解决这个问题*/
}
}
解决方案 »
- JAVA数据结构
- Swing 组件 黄色代码为什么没有实现
- jni中怎么样返回数组参数,JNIEXPORT jint JNICALL Java_com_gy_image_HotKeyHookManager_startHotKeyHook(JNIEnv * env, jobject hookMa
- 运行一个java程序后报的提示~
- 请教一个正则式的问题
- jTable 怎么和查询语句的结果集相连?
- JAVA中如何调用VC的OCX?
- 请教:JAVA中如何获得当前行
- 一个新手提的可能愚蠢的问题
- ****使用CVS后图片读取出错!——那位仁兄给指点一下吧!
- 求校验字符串算法
- 年底散分200!!!!!!!!!!!!!!!!!!!!!!!!!!!
Object obj = classType.getConstructor(new Class[]{}).newInstance(new Object[]{});
//这句可以将a的类取出来
System.out.println(ClassName);//显示:包名.BeanA
obj=Class.forName(ClassName).newInstance();
===================
替换成为:if (obj instanceof BeanA) {
BeanA realObj = (BeanA ) obj;
..............
} else if (obj instanceof BeanB) {
BeanB realObj = (BeanB) obj;
..............
}