永发信息网

关于分类查询的问题

答案:1  悬赏:10  手机版
解决时间 2021-07-17 12:54

大家都知道 查询一个 二个 三个分类 查询 都很简单 也无非就是几种情况

假如四种以上分类查询怎么办啊 请问高手们有没有什么好的优化方法

下面是我的 4个个分类查询的 代码 我感觉好长啊

String phone = request.getParameter("phone") == null ? "" : request
.getParameter("phone");
String content = request.getParameter("content") == null ? "" : request
.getParameter("content");
String front = request.getParameter("front") == null ? "" : request
.getParameter("front");
String back = request.getParameter("back") == null ? "" : request
.getParameter("back");

if (phone.equals("") && content.equals("") && front.equals("")
&& back.equals("")) {
str = "";
} else if ((!phone.equals("")) && (!content.equals(""))
&& (!front.equals("")) && (!back.equals(""))
&& (!front.equals(back))) {
str = "where senderAddress like '%" + phone
+ "%' and notifMessage like '%" + content
+ "%' and times >'" + front + "' and times<'" + back + "' ";
} else if (phone.equals("") && (!content.equals(""))
&& (!front.equals("")) && (!back.equals(""))
&& (!front.equals(back))) {
str = "where notifMessage like '%" + content + "%' and times >'"
+ front + "' and times<'" + back + "' ";
} else if (phone.equals("") && content.equals("")
&& (!front.equals("")) && (!back.equals(""))
&& (!front.equals(back))) {
str = "where times >'" + front + "' and times<'" + back + "' ";
} else if (phone.equals("") && content.equals("")
&& (!front.equals("")) && (!back.equals(""))
&& front.equals(back)) {
str = "where times >'" + front + " 00:00:00' and times<'" + back
+ " 23:59:59'";
} else if (phone.equals("") && content.equals("") && front.equals("")
&& (!back.equals(""))) {

str = "where times<'" + back + " 23:59:59'";
} else if ((!phone.equals("")) && content.equals("")
&& (!front.equals("")) && (!back.equals(""))
&& (!front.equals(back))) {

str = "where senderAddress like '%" + phone + "%' and times >'"
+ front + "' and times<'" + back + "' ";
} else if ((!phone.equals("")) && content.equals("")
&& (!front.equals("")) && (!back.equals(""))
&& front.equals(back)) {

str = "where times >'" + front + " 00:00:00' and times<'" + back
+ " 23:59:59' and senderAddress like '%" + phone + "%'";
} else if ((!phone.equals("")) && content.equals("")
&& front.equals("") && (!back.equals(""))) {
str = "where times<'" + back
+ " 23:59:59' and senderAddress like '%" + phone + "%'";
} else if ((!phone.equals("")) && (!content.equals(""))
&& front.equals("") && (!back.equals(""))) {
str = "where senderAddress like '%" + phone
+ "%' and notifMessage like '%" + content
+ "%' and times<'" + back + "' ";
} else if ((!phone.equals("")) && (!content.equals(""))
&& front.equals("") && back.equals("")) {
str = "where senderAddress like '%" + phone
+ "%' and notifMessage like '%" + content + "%'";
} else if ((!phone.equals("")) && (!content.equals(""))
&& (!front.equals("")) && back.equals("")) {
str = "where senderAddress like '%" + phone
+ "%' and notifMessage like '%" + content
+ "%' and times >'" + front + "' ";
} else if ((!phone.equals("")) && content.equals("")
&& front.equals("") && back.equals("")) {
str = "where senderAddress like '%" + phone + "%'";
} else if (phone.equals("") && (!content.equals(""))
&& front.equals("") && back.equals("")) {
str = "where notifMessage like '%" + content + "%'";
} else if (phone.equals("") && content.equals("")
&& (!front.equals("")) && back.equals("")) {
str = "where times >'" + front + " 00:00:00'";
} else if (phone.equals("") && (!content.equals(""))
&& (!front.equals("")) && back.equals("")) {
str = "where times >'" + front
+ " 00:00:00' and notifMessage like '%" + content + "%'";
} else if (phone.equals("") && (!content.equals(""))
&& front.equals("") && (!back.equals(""))) {
str = "where times<'" + back
+ " 23:59:59' and notifMessage like '%" + content + "%'";
} else if ((!phone.equals("")) && content.equals("")
&& (!front.equals("")) && back.equals("")) {
str = "where times >'" + front
+ " 00:00:00' and senderAddress like '%" + phone + "%'";
}

最佳答案
你好。
很幸运看到你的问题。
但是又很遗憾到现在还没有人回答你的问题。也可能你现在已经在别的地方找到了答案,那就得恭喜你啦。
可能是你问的问题有些专业了,没人会。或者别人没有遇到或者接触过你的问题,所以帮不了你。建议你去问题的相关论坛去求助,那里的人通常比较多,也比较热心,可能能快点帮你解决问题。
希望我的回答也能够帮到你!
祝你好运~!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
请朋友们帮我出出主意?
汕头有哪些文具批发地点
各位帮小妹看看我电脑的市场价格
东营西城那里有教瑜伽的地方
超级Q不能用QB开通吗?
这些花叫什么名字
怎么样才能让家里人相信你
孕妇动手术生产后,伤口发炎化浓!
想找一首歌曲,是古惑仔5龙争虎斗里面的!
梦见死而复活,向征什么?
一个你爱的人和一个爱你的人你会怎么选择?
天龙八部游戏里.武器在哪里打孔.要多少钱.还
现在的中国人还是那个谦虚礼让的中国人吗?
我要减肥 帮帮我
谁能给我传个完美硬盘版的轩辕剑三云和山的彼
推荐资讯
电脑内存在什么样情况下才会换?
asp.net导入视频,声音
梦幻诛仙 宝宝打技能书会洗掉本来的技能挖
如果不知道一个女生是否喜欢你该怎么办?
求AU各版本的登录界面!高分
早恋和早婚那个严重啊?还有早孕
如果我在努力一点 是不是就有能力让自己走出
创始西游好玩不??
怎样锻炼自己的演讲能力
人的一生怎样才有意义?
心里烦着呢.又不能跟人说.怎么办
QQ游戏宠物一级宠物和2级宠物炼化会怎么样?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?