在 java 中从可调用参数传递值的最佳方法



我正在寻找将值从可调用参数对象传递到单独变量的最佳实践。

我正在使用可调用参数的对象将值传递给变量。我使用数字来表示每个参数的值。有没有更有效的方法?

//CREATES NEW OBJECT FOR COLLABLE PARAMETERS
CallableParameters params = new CallableParameters();
//PASS INPUT VALUES
params.addParamIn(ID(),Types.INTEGER); 
params.addParamIn(NUMBER(),Types.INTEGER); 

//RETURN OUTPUT VALUES
params.addParamIn(CITY(),Types.VARCHAR); 
params.addParamIn(YEAR(),Types.INTEGER); 
//EXECUTE THE COLLABLE STATEMENT TO RUN THE STORED PROCEDURE
CallableStatement.executeCallable(callableName, params, conn); 

然后我尝试将值传递给这样的变量:

String CITY = (Integer)params.getParams().get(3).getParamValue();
int YEAR=(String)params.getParams().get(4).getParamValue();

有没有更好的方法来调用我的变量而不是get(3),比如带有名称的枚举和喜欢?

你可以创建枚举

enum ParameterSetter implements Consumer<CallableParameters> {
    ID {
        void accept(Callable Parameters setIn) {
            setIn.addParamIn(createId(), Types.INTEGER);
        } 
    }
    static String createId() {...} 
}

然后你可以像这样初始化你的参数

for (ParameterSetter setter : ParameterSetter.values()) {
    setter.accept(yourParameterObject);
}

我想是品味问题。

相关内容

最新更新