我可以使用一种方法编辑多个SQL表吗?

我可以使用一种方法编辑多个SQL表吗?,sql,function,Sql,Function,我有一个理论问题和JavaRESTAPI,在其中我必须添加、删除和编辑几个SQL表的行。 为每个表创建一个delete、edit和create方法,使用完整的代码, 和 为SQL代码创建一个delete、edit和create函数,并使用从每个表的delete、edit和create方法传递的变量进行更新? 谢谢你的帮助 所以像这样: private static void Create_1(){ String NewValue= "Something"; String SQ

我有一个理论问题和JavaRESTAPI,在其中我必须添加、删除和编辑几个SQL表的行。 为每个表创建一个delete、edit和create方法,使用完整的代码, 和 为SQL代码创建一个delete、edit和create函数,并使用从每个表的delete、edit和create方法传递的变量进行更新? 谢谢你的帮助

所以像这样:

  private static void Create_1(){
    String NewValue= "Something";
    String SQLCommand = "INSERT INTO Table1 (Column1) VALUES ("+NewValue+")";
    PreparedStatement PST = conn.prepareStatement(SQLCommand);
    PST.executeUpdate();
}

  private static void Create_2(){
    NewValue= "Something";
    String SQLCommand = "INSERT INTO Table2 (Column2) VALUES ("+NewValue+")";
    PreparedStatement PST = conn.prepareStatement(SQLCommand);
    PST.executeUpdate();
}
与此相比:

  private static void Create_1(){
    String NewValue= "Something";
    String Table = "Table1";
    String Column = "Column1";
    Create_Base(NewValue, Table, Column);
}

 private static void Create_2(){
    String NewValue= "Something";
    String Table = "Table2";
    String Column = "Column2";
    Create_Base(NewValue, Table, Column);
}

 private static void Create_Base(String NewValue, String Table, String Column){
    String SQLCommand = "INSERT INTO "+Table+" ("+Column+") VALUES ("+NewValue+")";
    PreparedStatement PST = conn.prepareStatement(SQLCommand);
    PST.executeUpdate();
}

我要说的是,你的两种方法之间有细微的差别。当您有一个需要经常与数据库交互的应用程序,并且没有一个“”库来处理数据库时,第二种方法在代码的可读性和模块性方面会更有意义。需要注意的是,这完全取决于应用程序的大小和应用程序中SQL代码的强度。顺便问一句好问题:)

所有目标表都有相同的结构吗?你当然可以按照你的建议去做,但是……如果你爱上这种做事方式,事情会变得越来越复杂……也许不必要的复杂。有一条法令叫做单一责任原则,这有点违背了这一点。另外,通过组合sql,您的代码很容易受到sql注入攻击。需要明确的是,在您开始将用户输入纳入组合sql之前,您不会处于sql注入漏洞的边缘……它只是朝着这个方向倾斜。