亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用SpringMVC + MongoDB時,用or條件匹配關鍵字時遇到的問題?

使用SpringMVC + MongoDB時,用or條件匹配關鍵字時遇到的問題?

智慧大石 2019-06-07 11:06:35
public <T> List<T> queryCommunityByKeyword(String keyword, Integer page, Integer pageSize) {Query query = new Query();query.addCriteria(Criteria.where("communityName").regex(keyword).orOperator(Criteria.where("announcement").regex(keyword).orOperator(Criteria.where("remark").regex(keyword)))).skip( (page - 1) * pageSize).limit(pageSize);//分頁System.out.println(query);List<SmsCommunity> list = mongoTemplate.find(query, SmsCommunity.class);if(list == null || list.size() < 1){return null;}return (List<T>) list;}以上是接口的實現代碼;Query: { "communityName" : { "$regex" : "車"} , "$or" : [ { "announcement" : { "$regex" : "車"} , "$or" : [ { "remark" : { "$regex" : "車"}}]}]}, Fields: null, Sort: null以上是后臺打印的查詢語句;我要的效果是(Oracle):SELECT * FROM tbl_name WHERE communityName LIKE ? OR announcement LIKE ? OR remark LIKE ?可是上面的mongoTemplate代碼查出來的不是這樣的,后面兩個or的條件直接被忽略了.下面是我用到的spring整合mongodb的包:import org.springframework.data.mongodb.core.MongoTemplate;
查看完整描述

2 回答

?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

使用SpringMVC + MongoDB時,用or條件匹配關鍵字時遇到的問題如下:

在使用SpringMVC框架時,配置web.xml文件時,springDispatcherServlet的配置:

可以看到servlet過濾的是所有的請求url,因此當瀏覽器在訪問css、js、image等靜態資源時也需要通過驗證是否已經有相關的映射,如果沒有則無法訪問到(有時可能會覺得是路徑配置不對,但是你會發現無論怎么改路徑都訪問不到),比如你在controller里注解了一個請求的 url,那么你就可以訪問到你想獲取的資源或者頁面,但是靜態資源時沒有注解的,所以當你在頁面上使用css或者引入js文件時就無法訪問。

解決方法:

1、添加默認的servlet-mapping :

2、將你所需要訪問靜態資源添以通配符的形式加到web.xml的servlet-mapping中,就可以輕松地訪問到你精心設計的js和css了。



查看完整回答
反對 回復 2019-06-08
?
浮云間

TA貢獻1829條經驗 獲得超4個贊

代碼如下:
Query query = new Query();
Criteria cr = new Criteria();
query.addCriteria(cr.orOperator(
Criteria.where("communityName").regex(keyword)
,Criteria.where("communityName").regex(keyword)
,Criteria.where("remark").regex(keyword)
));

打印的SQL語句如下:
Query: { "$or" : [ { "communityName" : { "$regex" : "俗"}} , { "communityName" : { "$regex" : "俗"}} , { "remark" : { "$regex" : "俗"}}]}, Fields: null, Sort: null




查看完整回答
反對 回復 2019-06-08
  • 2 回答
  • 0 關注
  • 686 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號