Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用不同的标准操作相同的方法?_Java_Database - Fatal编程技术网

Java 如何使用不同的标准操作相同的方法?

Java 如何使用不同的标准操作相同的方法?,java,database,Java,Database,我正在开发一个java应用程序。我有一个场景如下 我有一个存储过程来获取客户详细信息,我将“areaCode”作为参数传递。使用getCustDetails(areaCode)方法从应用程序调用此过程。此方法在整个应用程序中使用了100多次 i、 e.getCustDetails(区域代码) 现在我的要求改变了。现在,在我的数据库表中有一个名为“status”的列。现在,我想获取在其状态列中具有值“active”的客户详细信息 克服这一要求的最佳方法是什么?我是否应该将方法声明和方法调用更改为下

我正在开发一个java应用程序。我有一个场景如下

我有一个存储过程来获取客户详细信息,我将“areaCode”作为参数传递。使用
getCustDetails(areaCode)
方法从应用程序调用此过程。此方法在整个应用程序中使用了100多次

i、 e.
getCustDetails(区域代码)
现在我的要求改变了。现在,在我的数据库表中有一个名为“status”的列。现在,我想获取在其状态列中具有值“active”的客户详细信息

克服这一要求的最佳方法是什么?我是否应该将方法声明和方法调用更改为下面给出的整个应用程序,或者是否有其他方法可以减少我们的工作量

getCustDetails(areaCode,status);

有人能帮我吗?

无需修改现有方法,只需创建一个新方法
getCustDetails(status)
getCustDetails(areaCode,status)

  • 更改签名并大规模重构代码
  • 更改方法体以满足新的需求(非常愚蠢的方法,因为需求总是可以再次更改)
  • 如果我是你,我会用两个参数定义一个新方法
    getCustDetails(areaCode,status);
    并在需要时调用它。你的
    getCustDetails(areaCode);
    只需调用new
    getCustDetails(areaCode,status);
    并将status设置为null。我认为这是最好的方法

  • 您可以保留原始方法并创建新方法:

    public ReturnType getCustDetails(Type1 areaCode) {
        // Move your code to the new function
        // call the new function
        getCustDetails(areaCode, DEFAULT_STATUS /* Or null */);
    }
    
    public ReturnType getCustDetails(Type1 areaCode, Type2 status) {
        ...
        ...
        ...
    }
    

    感谢您的回复。但这里返回的是具有默认_状态(如“活动或非活动”)的客户详细信息。但我的要求是,在某些方法调用中,我需要活动状态客户,而其他需要非活动状态客户