Java 通用存储过程ORMapping的实现 [基类实现篇]

原创 2007年10月01日 22:57:00

 在[设想篇]中,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

C# 通用存储过程ORMapping的实现 [基类实现篇]

基类实现篇在[设想篇]中,ASon是继承自A,而A这个基类,我们必须实现它,将A更名成:NxDataStoreProcedure实现代码:    public class NxDataStorePro...
  • javasuki
  • javasuki
  • 2007年10月01日 22:02
  • 585

Java 通用存储过程ORMapping的实现 [真正实现篇]

在[基类实现篇]中,私有变量JxSpObject是真正的实现存储调用的一个类实现代码:import java.lang.annotation.*;import java.lang.reflect.Co...
  • javasuki
  • javasuki
  • 2007年10月01日 23:06
  • 544

Java 通用存储过程ORMapping的实现 [基础篇]

 在[设想篇]中,提到的一些注解,在本篇中进行实现@JXDatatSet(SchemaName="CityCount",schemaFlag=SchemaFlag.IsStoredProcedure)...
  • javasuki
  • javasuki
  • 2007年10月01日 22:49
  • 460

C# 通用存储过程ORMapping的实现 [真正实现篇]

 在[基类实现篇]中,私有变量nxSP是真正的实现存储调用的一个类实现代码:internal class NxStoredProcedure...{        初始化类#region 初始化类  ...
  • javasuki
  • javasuki
  • 2007年10月01日 22:23
  • 713

Java 通用存储过程ORMapping的实现 [设想篇]

希望在开发时,写好一个对应的类,设置一些属性就可以直接调用存储ASon aSon = new ASon();Object objVal = aSon.execute();objVal就是存储调用的结果...
  • javasuki
  • javasuki
  • 2007年10月01日 22:36
  • 475

C# 通用存储过程ORMapping的实现 [设想篇]

希望在开发时,写好一个对应的类,设置一些属性就可以直接调用存储ASon aSon = new ASon();object objVal = aSon.Execute();objVal就是存储调用的结果...
  • javasuki
  • javasuki
  • 2007年10月01日 21:31
  • 605

Hibernate封装通用数据操作基类DAO

文章来源:http://blog.163.com/fushahui_1988@126/blog/static/828799942010725105544740/ package com.ke...
  • buster2014
  • buster2014
  • 2015年06月23日 10:20
  • 715

C# 通用存储过程ORMapping的实现 [基础篇]

 在[设想篇]中,提到的一些属性,在本篇中进行实现[NXDataSet("SPName",SchemaFlag.IsStoredProcedure)]NXDataSet为一个属性,标识存储过程的名称,...
  • javasuki
  • javasuki
  • 2007年10月01日 21:52
  • 723

Mysql分页查询通用存储过程

前段时间没有给出SQLServer转到Mysql的通用存储过程,本着共享的精神,为大家奉献这段Mysql分页查询通用存储过程,假设所用数据库为guestbook: use guestbook;deli...
  • fcrpg2005
  • fcrpg2005
  • 2007年03月07日 00:33
  • 10577

springMVC给基类baseMapper新增通用方法

把方法都写在基类baseMapper里面,大家通用,提高代码的复用性 下面以replace 为例子, REPLACE是先尝试插入,若主键存在则删除原纪录再插入 replace的作用就是这个。 R...
  • a5601564
  • a5601564
  • 2016年11月01日 11:06
  • 1250
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java 通用存储过程ORMapping的实现 [基类实现篇]
举报原因:
原因补充:

(最多只允许输入30个字)