我可以使用一种方法编辑多个SQL表吗?
我有一个理论问题和JavaRESTAPI,在其中我必须添加、删除和编辑几个SQL表的行。 为每个表创建一个delete、edit和create方法,使用完整的代码, 和 为SQL代码创建一个delete、edit和create函数,并使用从每个表的delete、edit和create方法传递的变量进行更新? 谢谢你的帮助 所以像这样:我可以使用一种方法编辑多个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
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注入漏洞的边缘……它只是朝着这个方向倾斜。