由于需要用MongoDB
缓存数据,所以自己写了一套公共的存放和读取方法
成都创新互联公司是一家朝气蓬勃的网站建设公司。公司专注于为企业提供信息化建设解决方案。从事网站开发,网站制作,网站设计,网站模板,微信公众号开发,软件开发,小程序开发,10年建站对宣传片制作等多个行业,拥有多年的网站推广经验。
具体如下:
存放mongodb:
/**
* 公共方法:设置Object类型缓存
* @author shijing
* @param param
* @param sysGuid
*/
public void setObjData(Map param, String sysGuid, String enumBpd){
DBObject dbObject = new BasicDBObject();
dbObject.putAll(param);
String collectionName = EnumBpd.getBpdType(enumBpd) + sysGuid;
mongoDao.insertToCol(dbObject,collectionName);
}
/**
* 公共方法:设置List缓存
* @author shijing
* @param paramList
* @param sysGuid
*/
public void setListData(List
mongoDao里面的方法:
public void insertToCol(DBObject document, String collectionName) {
dropCol(collectionName);
DBCollection dbCollection = mongoTemplate.createCollection(collectionName);
dbCollection.insert(document);
}
public void insertToCol(List documents, String collectionName) {
dropCol(collectionName);
DBCollection dbCollection = mongoTemplate.createCollection(collectionName);
dbCollection.insert(documents);
}
读取方法
/**
* 通过关键字模糊查询问题和答案库
* @param param
* @return
*/
@Override
public List
注意事项:
mongodb模糊查询时
Pattern pattern = Pattern.compile("^.*" + param.get("keyword") +".*$"
这种方式存在bug, 容易漏掉数据
应该使用下面这种方式:
query.put("page_html", Pattern.compile((String) param.get("keyword")));
先记录到这吧,有需要在补充,批量in方法也在上述代码里面。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对创新互联的支持。如果你想了解更多相关内容请查看下面相关链接
本文标题:Java操作MongoDB插入数据进行模糊查询与in查询功能
文章分享:
http://azwzsj.com/article/pceogj.html