技术编程|SpringBoot怎么整合MongoDB?( 二 )


技术编程|SpringBoot怎么整合MongoDB?
文章图片

文章图片

当然我们也可以不用他MongoRepository封装的方法 , 我们可以自定义方法自定义接口方法
我们在MongoDB中多插入两个数据
技术编程|SpringBoot怎么整合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?
文章图片

文章图片

【技术编程|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
技术编程|SpringBoot怎么整合MongoDB?
文章图片

文章图片

测试运行
可以看到数据插入成功 , 并且查询成功
技术编程|SpringBoot怎么整合MongoDB?
文章图片

文章图片

实际业务情况
我们知道非关系型数据库MongoDB一般就是做缓存功能 , 来提高web的程序的查询速度 , 将热点数据放在非关系型数据库中 , 而不是每次都去关系型数据库中查询的(如mysql) , 以下我们讲一个小demo , 来模拟MongoDB做缓存的情况 。但我们要知道实际业务中远比这复杂 , 比如缓存的时效性 , 哪些是热点数据(哪些数据需要缓存)等 , 这里的小demo并不考虑这些 , 只是参考一下思想
我们在进行查询时 , 缓存和数据库一般是这样配合的
技术编程|SpringBoot怎么整合MongoDB?


推荐阅读