技术编程|SpringBoot怎么整合MongoDB?( 四 )
map=maps.get(0);Set
strings=map.keySet();System.out.println(strings);Blogblog=newBlog();blog.setId(Integer.valueOf(map.get("id").toString()));blog.setTitle((String)map.get("title"));blog.setAuthor((String)map.get("author"));blog.setCreate_time((Date)map.get("create_time"));blog.setViews((Integer)map.get("views"));System.out.println(blog.toString());mongoTemplate.insert(blog);//这里不能直接把从jdbc模板类返回的对象存到MongoDB中 , 因为queryForList返回的对象并不是我们的实体类对象 , 我们要手动转存再存到缓存中//mongoTemplate.insert(maps);System.out.println("mysql拿的数据存到缓存中啦!");}}}
第一次查询 , 缓存中无结果 , 在数据库中查到 , 并存入缓存中
文章图片
文章图片
第二次查询 , 直接从缓存中拿到结果并返回
文章图片
文章图片
那既然思路和测试没问题 , 咱模拟的像一点 , 整个业务出来吧
在项目中创建controller和service文件夹
文章图片
文章图片
分别创建BlogController和BlogServiceBlogController.javapackagecom.feng.controller;importcom.feng.pojo.Blog;importcom.feng.service.BlogService;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.PathVariable;importorg.springframework.web.bind.annotation.RestController;/***
spirngboot-mongodb-test
***@author:Nicer_feng*@date:2020-10-1211:27**/@RestControllerpublicclassBlogController{@AutowiredBlogServiceblogService;@GetMapping("getBlog/{title}")publicBloggetBlog(@PathVariableStringtitle){BlogblogByTitle=blogService.getBlogByTitle(title);returnblogByTitle;}}我们这里类名使用@RestController注解声明该类为一个控制器 , 并且返回JSON字符串给前端 。BlogService.javapackagecom.feng.service;importcom.feng.pojo.Blog;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.data.mongodb.core.MongoTemplate;importorg.springframework.data.mongodb.core.query.Criteria;importorg.springframework.data.mongodb.core.query.Query;importorg.springframework.jdbc.core.JdbcTemplate;importorg.springframework.stereotype.Service;importjava.util.Date;importjava.util.List;importjava.util.Map;importjava.util.Set;/***
spirngboot-mongodb-test
***@author:Nicer_feng*@date:2020-10-1211:27**/@ServicepublicclassBlogService{@AutowiredMongoTemplatemongoTemplate;@AutowiredJdbcTemplatejdbcTemplate;publicBloggetBlogByTitle(Stringtitle){Queryquery=newQuery(Criteria.where("title").is(title));Blogone=mongoTemplate.findOne(query,Blog.class);if(one!=null){System.out.println("从缓存数据库直接拿的数据:"+one);}else{Stringsql="SELECT*FROMmybatis.blogWHEREblog.title=?";List>maps=jdbcTemplate.queryForList(sql,title);System.out.println("从mysql数据库拿的数据:"+maps.toString());Map
推荐阅读
- 电池技术,相机发烧|防爆相机多少钱能买到?
- 行业互联网|深圳第22届高交会闭幕:一大批新技术新成果集中亮相
- 电池技术|动能转换看烟台|有锂电池的地方就有创为
- 行业互联网|2020十大新兴技术揭晓!每一项都可能颠覆我们的生活
- 行业互联网|英国运输技术论坛发布网络安全标准和指南摘要
- 钉科技|“选择性过滤”太难?方太“死磕”8年突破净水技术
- 中国新闻网|告别各自为营,梧桐车联宣布开放系统“技术底座”
- 腾讯|腾讯举办科学脱口秀X-Talk,聚焦人工智能、基因编辑等前沿技术
- |「推仔说新闻」NVIDIA曝光CPU+GPU加速技术 支持两家处理器
- 产业|清华教授魏少军:信息技术产业是全球GDP增长的主要动力