技术编程|SpringBoot怎么整合MongoDB?( 二 )
文章图片
文章图片
当然我们也可以不用他MongoRepository封装的方法 , 我们可以自定义方法自定义接口方法
我们在MongoDB中多插入两个数据
文章图片
文章图片
在UserDao.java中加入方法publicinterfaceUserDaoextendsMongoRepository
{List
findUserByNameContaining(Stringname);}
测试类实现packagecom.feng;importcom.feng.dao.UserDao;importcom.feng.pojo.User;importorg.junit.jupiter.api.Test;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.boot.test.context.SpringBootTest;importjava.util.List;@SpringBootTestclassSpirngbootMongodbTestApplicationTests{@AutowiredUserDaouserDao;//******@TestvoidfindUserByNameContaining(){List
all=userDao.findAll();System.out.println(all);List
feng=userDao.findUserByNameContaining("fe");System.out.println(feng);}}查询结果
文章图片
文章图片
【技术编程|SpringBoot怎么整合MongoDB?】除了继承MongoRepository接口 , 我们还可以直接调用MongoTemplate , 和RedisTemplate差不多 , 就是封装好的模板 , 直接创建对象调用对应方法即可 。MongoTemplate实现
直接去测试类packagecom.feng;importcom.feng.dao.UserDao;importcom.feng.pojo.User;importorg.junit.jupiter.api.Test;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.boot.test.context.SpringBootTest;importorg.springframework.data.mongodb.core.MongoTemplate;importjava.util.List;@SpringBootTestclassSpirngbootMongodbTestApplicationTests{//****************@AutowiredMongoTemplatemongoTemplate;@TestvoidtestTemplate(){Useruser=newUser();user.setId(4);user.setName("冯半仙");mongoTemplate.insert(user);List
all=mongoTemplate.findAll(User.class);System.out.println(all);}}
可以看到findAll方法的参数必须是实体类的Class , 所以我们传入User.class
文章图片
文章图片
测试运行
可以看到数据插入成功 , 并且查询成功
文章图片
文章图片
实际业务情况
我们知道非关系型数据库MongoDB一般就是做缓存功能 , 来提高web的程序的查询速度 , 将热点数据放在非关系型数据库中 , 而不是每次都去关系型数据库中查询的(如mysql) , 以下我们讲一个小demo , 来模拟MongoDB做缓存的情况 。但我们要知道实际业务中远比这复杂 , 比如缓存的时效性 , 哪些是热点数据(哪些数据需要缓存)等 , 这里的小demo并不考虑这些 , 只是参考一下思想
我们在进行查询时 , 缓存和数据库一般是这样配合的
推荐阅读
- 电池技术,相机发烧|防爆相机多少钱能买到?
- 行业互联网|深圳第22届高交会闭幕:一大批新技术新成果集中亮相
- 电池技术|动能转换看烟台|有锂电池的地方就有创为
- 行业互联网|2020十大新兴技术揭晓!每一项都可能颠覆我们的生活
- 行业互联网|英国运输技术论坛发布网络安全标准和指南摘要
- 钉科技|“选择性过滤”太难?方太“死磕”8年突破净水技术
- 中国新闻网|告别各自为营,梧桐车联宣布开放系统“技术底座”
- 腾讯|腾讯举办科学脱口秀X-Talk,聚焦人工智能、基因编辑等前沿技术
- |「推仔说新闻」NVIDIA曝光CPU+GPU加速技术 支持两家处理器
- 产业|清华教授魏少军:信息技术产业是全球GDP增长的主要动力