java查询框_Java web的输入框查询问题

该博客介绍了在Java Web应用中如何实现根据输入框内容动态查询数据的方法。通过检查输入参数,根据是否包含汉字来决定查询不同字段,并构建相应的SQL语句。使用了SearchText类来封装查询条件,最后调用queryForList方法执行查询。
摘要由CSDN通过智能技术生成

publicclassCnSuggestOperationextendsDbOperation {publicList>findBycontent(String param) {

String sql="select * from QINDEX";

String sqlquie="where";

String sqlquie2="";

String sqlquie3="";

ArrayList stll=newArrayList();//动态数组 new新对象 stll//-------------------------------------------------if(param.length()>=2) {//param元素长度String str1=param;//str1for(inti=0; i<=str1.length()-1; i++) {

String test=str1.substring(i, i+1);//test对象调用substring方法返回新字符串 第i位后开始取i+1位if(test.matches("[\\u4E00-\\u9FA5]+")) {//[\\u4E00-\\u9FA5]代表所有汉字的编码SearchText st1=newSearchText("content", test, i);//content数据库中字段,test返回的新字符串stll.add(st1);//添加元素st1}else{

SearchText st2=newSearchText("pinyin", test, i);

stll.add(st2);//添加元素st2}

}

}else{

String test=param;if(test.matches("[\\u4E00-\\u9FA5]+")) {

SearchText st1=newSearchText("content", test,0);

stll.add(st1);//指定的st1元素添加到此列表的尾部}else{

SearchText st2=newSearchText("pinyin", test,0);

stll.add(st2);

}

}//------------------------------------------------if(stll.size()==1) {//stll对象的个数为1SearchText str=(SearchText) stll.get(0);//get列表中指定位置上的元素sqlquie+=str.getSearchRow()+"like ?";//str.getSearchRow()查询的字段;str.getSearchWord()搜索框中的关键字sqlquie2="";

sqlquie3="";

System.out.println(sqlquie+"==="+sqlquie2+"==="+sqlquie3);

}elseif(stll.size()==2) {//stll对象的个数为2SearchText str=(SearchText) stll.get(0);

sqlquie+=str.getSearchRow()+"like ?";

SearchText str2=(SearchText) stll.get(1);

sqlquie3+="and"+str2.getSearchRow()+"like ?";

sqlquie2="";

System.out.println(sqlquie+"111"+sqlquie2+"111"+sqlquie3);

}else{//stll对象的个数为多个for(inti=0; i<=stll.size()-1; i++) {

SearchText str=(SearchText) stll.get(i);if(str.getLocation()==0) {

sqlquie+=str.getSearchRow()+"like ?";

}elseif(str.getLocation()==stll.size()) {

sqlquie2+=str.getSearchRow()+"like ?";

}else{if(i<=stll.size()-1||i>=3) {

sqlquie3+="and"+str.getSearchRow()+"like ?";

}else{

sqlquie3+=str.getSearchRow()+"like ?";

}

System.out.println(sqlquie+"222"+sqlquie2+"222"+sqlquie3);

}

}

}returnthis.queryForList(sql+=sqlquie+sqlquie2+sqlquie3,newObject[] {"%"+param+"%"});

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值