在工作时,有许多大字段是存储在MongoDB中的,在列表展示的时候,分页在mysql中查询出主要信息,再根据mysql中的字段获取MongoDB中的信息,而之前的做法是通过循环调用MongoDB,这中应该是最不应该使用的一种方法,频繁的打开关闭数据库连接,性能可见一般。
字段 | 解释 |
userId | 用户唯一标识 |
productId | 产品唯一标识 |
productinfo | 产品详情信息 |
authId | 产品所在店铺的唯一标识 |
… | 其他信息 |
Spring Boot ---------为了建立项目方便
Spring Data MongoDB--------MongoTemplate
实体类与MongoDB的字段相互对应(使用方法参见 Spring官方网站)
JDK 1.8
Maven(版本随意)
由于有多个条件的制约,自然形成的思路就是通过OR来同时查询多条数据集合
(userId=“xwb” and productId=“xwbProduct” and authId=“1”) OR (userId=“xwb1” and productId=“xwbProduct1” and authId=“2”)
代码示例如下:
如上完整的解决了任务,但是对于每一个表,或者如果在增加一个检索条件,那么就要重新声明一个这样的方法,对于JAVA这种的高级编程语言,就不是很合适,完全可以抽离出一个共同方法使用。
公共方法如下(通过字段,反射获取值的小方法美欧截出来,只截取了主要的思路部分):
模拟通过userId,productId,authId查询productinfo,代码如下:
在我们习惯了去完成任务,实现增删改查的同时,也可以多使用JDK的一些特性,去抽离出好一些的方法供大家使用,节约了代码量,巩固了JAVA的相关特性,更加锻炼了我们的思路。
上面的示例代码,下载链接如下(不需要会员,不需要C币):点击下载
原文:https://www.cnblogs.com/xwbBlog-2021/p/14736476.html