我们有一个应用程序,我们在DB2模式中有3个表。我正在使用下面的查询来获取记录。事务表可能包含超过1000000条记录。我在下面写了一个查询来从多个表中获取数据,但它花费的时间比测试人员的预期要多。
select * from (select ROW_NUMBER() OVER ( order by SOURCE_REFERENCE_NO,Trans_Date,Trans_Time,User_ID ) as RN ,Trans_Type from transaction t left join applicationref ar on t.code = ar.code
left join user u on u.username = t.useraccess left join user u1 on u1.username = t.username
)as w
答案 0 :(得分:0)
从技术上讲,您可以在Servlet中声明其他方法,但理想情况下,您应该将这些业务逻辑封装到Services和DAO(Data Access Object)中作为单独的类。
答案 1 :(得分:0)
我会添加 Ish' 答案。
是的,您应该在单独的服务类或DAO中定义实际的业务登录,但是应该在Servlet本身中适当调用这种不同业务逻辑的实际调用。
适合您要求的方案是在表单中创建隐藏的操作参数。让我们称之为action
。在Servlet doGet或doPost方法中检查此参数。
您可以使用'切换语句'如果Java 1.8或' if else else if'对于任何其他版本。
像这样。
String action = request.getParameter('action');
if(action.equals('logic1')){
service.businesslogic2();
} else if(action.equals('logic2')){
service.businesslogic2();
} else if(action.equals('logic3'))
....
....
....
service是任何服务类实例。