一个将类“存储“到数据库的想法

本文提出了一种通过定义通用接口来实现不同业务处理的方法。数据库存储接口的实现类位置,根据参数动态连接数据库并调用相应处理方法,实现同一接口内的多业务支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文的重点是:定义一个通用接口,数据库存的是这个接口不同的实现类的位置,在通用接口,根据参数的不同来连库找到不同的处理方法的实现类,从而在同一个接口内,处理不同的业务。

 

 String subBefore = ni.getStr("SUBMIT_BEFORE");
			    String sub = ni.getStr("SUBMIT");
			    String subAfter = ni.getStr("SUBMIT_AFTER");
				String backBefore = ni.getStr("GOBACK_BEFORE");
				String back = ni.getStr("GOBACK");
				String backAfter = ni.getStr("GOBACK_AFTER");
				Object v0 = ni.get("NODE_ORDER");
				int order = 1;
				if(v0!=null && !"".equals(v0) && !"null".equals(v0)){
					order = Integer.parseInt(v0+"");
				}
			    bi.setFlowId(appCode);
			    bi.setNodeId(nodeId);
			    bi.setNodeName(nodeName);
			    bi.setRgCode(rgCode);
				if(backAfter!=null && !"".equals(backAfter) && !"null".equals(backAfter)){
					Object v = getObject(backAfter);
					if(v!=null) {
						bi.setGobackAfter((FlowGobackAfter)v);
					}
				}
				if(backBefore!=null && !"".equals(backBefore) && !"null".equals(backBefore)){
					Object v = getObject(backBefore);
					if(v!=null) {
						bi.setGobackBefore((FlowGobackBefore) v);
					}
				}
				if(back!=null && !"".equals(back) && !"null".equals(back)){
					Object v = getObject(back);
					if(v!=null) {
						bi.setGobackIn((FlowGoback) v);
					}
				}

我这段代码里,将数据库存的类位置,拿到后,调用

Object v = getObject(backBefore);
	private Object getObject(String classPath){
		try {
			return Class.forName(classPath).newInstance();
		} catch (InstantiationException e) {
			e.printStackTrace();
			log.error(e.getMessage(),e);
		} catch (IllegalAccessException e) {
			e.printStackTrace();
			log.error(e.getMessage(),e);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
			log.error(e.getMessage(),e);
		}
		return null;
	}

就可以返回一个Object的这个接口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值