Java 通用存储过程ORMapping的实现 [基类实现篇]
2007-10-01 22:57
295 查看
在[设想篇]中,ASon是继承自A,而A这个基类,我们必须实现它,将A更名成:JxDataStoreProcedure
实现代码:
import java.io.*;
import java.lang.reflect.*;
/** *//**
* <p>Title: 存储过程类</p>
* <p>Description: 数据库映射组件</p>
* <p>Copyright: Copyright (c) 2007</p>
* <p>Company: itbabysoftware</p>
* @author javasuki
* @version 1.0
*/
public class JxDataStoreProcedure implements Serializable
...{
private Object JxSpObject;
private Class JxSpClass;
protected JxDataStoreProcedure() throws Exception
...{
//该类为受保护,通过反射进行调用,为便于管理是放在不同的包中的
JxSpClass = Class.forName("JXDO.Data.Factory.JxStoredProcedure");
JxSpObject = RefCreateObj.getPublicObj(JxSpClass);//反射建立,如果你放在同一包中,就直接使用new 建立对象吧!
}
/** *//**
* 执行存储过程,如果存储过程有返回结果,则返回,否则返回null
* @return 必须注意:如果存储过程,最后一条程序语句后返回值,并且最后第二条程序语句为[select * from table],则该函数执行后的返回结果是com.sun.rowset.CachedRowSetImpl类型,存储Return的返回值,将放置在指定的属性中
* @throws Exception
*/
public Object Exectue() throws Exception
...{
//等同于执行,new JXDO.Data.Factory.JxStoredProcedure().Exectue(this);
Method method = JxSpClass.getDeclaredMethod("Exectue", new Class[]...{Object.class});
method.setAccessible(true);
Object objResult = method.invoke(JxSpObject, new Object[]...{this});
method.setAccessible(false);
return objResult;
}
/** *//**
* 执行存储过程,动态映射成实例的类对象,只有满足:存储过程执行后返回的是数据集,并且该数据集结构与实际数据库中表或视图的结构相同
* @param InstanceClass 映射成对象的类型,//此段代码必须注意,本人有TABLE和VIEW的ORMapping,所以提供此方法
* @return Object[]
* @throws Exception
*/
public Object[] ExectueToObject(Class InstanceClass) throws Exception
...{
//等同于执行,new JXDO.Data.Factory.JxStoredProcedure().ExectueToObject(InstanceClass);
Method method = JxSpClass.getDeclaredMethod("ExectueToObject", new Class[]...{Object.class,Class.class});
method.setAccessible(true);
Object objResult = method.invoke(JxSpObject, new Object[]...{this,InstanceClass});
method.setAccessible(false);
return (Object[])objResult;
}
}
如需转载,请表明出处
anthor:zerodj@163.com/javasuki@hotmail.com
实现代码:
import java.io.*;
import java.lang.reflect.*;
/** *//**
* <p>Title: 存储过程类</p>
* <p>Description: 数据库映射组件</p>
* <p>Copyright: Copyright (c) 2007</p>
* <p>Company: itbabysoftware</p>
* @author javasuki
* @version 1.0
*/
public class JxDataStoreProcedure implements Serializable
...{
private Object JxSpObject;
private Class JxSpClass;
protected JxDataStoreProcedure() throws Exception
...{
//该类为受保护,通过反射进行调用,为便于管理是放在不同的包中的
JxSpClass = Class.forName("JXDO.Data.Factory.JxStoredProcedure");
JxSpObject = RefCreateObj.getPublicObj(JxSpClass);//反射建立,如果你放在同一包中,就直接使用new 建立对象吧!
}
/** *//**
* 执行存储过程,如果存储过程有返回结果,则返回,否则返回null
* @return 必须注意:如果存储过程,最后一条程序语句后返回值,并且最后第二条程序语句为[select * from table],则该函数执行后的返回结果是com.sun.rowset.CachedRowSetImpl类型,存储Return的返回值,将放置在指定的属性中
* @throws Exception
*/
public Object Exectue() throws Exception
...{
//等同于执行,new JXDO.Data.Factory.JxStoredProcedure().Exectue(this);
Method method = JxSpClass.getDeclaredMethod("Exectue", new Class[]...{Object.class});
method.setAccessible(true);
Object objResult = method.invoke(JxSpObject, new Object[]...{this});
method.setAccessible(false);
return objResult;
}
/** *//**
* 执行存储过程,动态映射成实例的类对象,只有满足:存储过程执行后返回的是数据集,并且该数据集结构与实际数据库中表或视图的结构相同
* @param InstanceClass 映射成对象的类型,//此段代码必须注意,本人有TABLE和VIEW的ORMapping,所以提供此方法
* @return Object[]
* @throws Exception
*/
public Object[] ExectueToObject(Class InstanceClass) throws Exception
...{
//等同于执行,new JXDO.Data.Factory.JxStoredProcedure().ExectueToObject(InstanceClass);
Method method = JxSpClass.getDeclaredMethod("ExectueToObject", new Class[]...{Object.class,Class.class});
method.setAccessible(true);
Object objResult = method.invoke(JxSpObject, new Object[]...{this,InstanceClass});
method.setAccessible(false);
return (Object[])objResult;
}
}
如需转载,请表明出处
anthor:zerodj@163.com/javasuki@hotmail.com
相关文章推荐
- Java 通用存储过程ORMapping的实现 [设想篇]
- Java 通用存储过程ORMapping的实现 [基础篇]
- Java 通用存储过程ORMapping的实现 [真正实现篇]
- C# 通用存储过程ORMapping的实现 [基类实现篇]
- 又一种JSP实现的Java通用简单分页算法
- Java实现通用线程池
- 利用java的反射机制实现通用dao
- 【struts2+hibernate+spring项目实战】分页功能的完整的实现(通用分页、基类实现)
- java 实现视频转换通用工具类:视频加水印-Ffmpeg(五-1)
- Java并发和多线程4:使用通用同步工具CountDownLatch实现线程等待
- Effective Java 对于所有对象都通用的方法 12.考虑实现Comparable(可以比较)接口
- Java和.Net版通用工具类实现--生成自定义Web Html/Excel测试用例和测试报告
- Java实现通用组合算法
- 算法_队列的Java通用数组实现
- 用Java实现一个通用并发对象池
- java反射实现的通用toString
- 通用维特比算法的Java实现
- ssh项目实战----分页功能的完整的实现(通用分页、基类实现)
- JSP实现的Java通用简单分页算法之三
- C# 通用存储过程ORMapping的实现 [设想篇]