六.SpringBoot集成实例系列-单数据源mongodb(权限控制)
来源:互联网 发布:网络爬虫 java 对比 编辑:程序博客网 时间:2024/06/11 01:53
文章列表
本系列将通过实例分别实现Springboot集成mybatis(mysql),mail,mongodb,cassandra,scheduler,redis,kafka,shiro,websocket。
具体文章系列如下:
一.SpringBoot集成实例系列-xml型单数据源mybatis
二.SpringBoot集成实例系列-xml型多数据源mybatis
三.SpringBoot集成实例系列-注解型单数据源mybatis
四.SpringBoot集成实例系列-注解型多数据源mybatis
五.SpringBoot集成实例系列-邮件email
六.SpringBoot集成实例系列-单数据源mongodb
七.SpringBoot集成实例系列-多数据源mongodb
八.SpringBoot集成实例系列-缓存redis
九.SpringBoot集成实例系列-数据库cassandra
十.SpringBoot集成实例系列-定时任务scheduler
十一.SpringBoot集成实例系列-消息队列kafka
十二.SpringBoot集成实例系列-消息推送websocket
MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
本文将通过实例实现springboot与mongodb集成。1.需求
实现用户的增删查改
2.技术要点
2.1 springboot集成mongodb配置
2.2 MongoTemplate依赖注入
spring-data-mongodb详情操作:
https://docs.spring.io/spring-data/data-mongodb/docs/current/reference/html/
3.代码实现
3.1 项目结构
3.2 properties配置文件
spring.application.name=spirngboot-int-mongodbegspring.data.mongodb.database=#spring.data.mongodb.host=#spring.data.mongodb.password=#spring.data.mongodb.port=27017spring.data.mongodb.username=#
3.3 UserEntity实体
package com.lm.entity;import java.io.Serializable;public class UserEntity implements Serializable { private static final long serialVersionUID = -3258839839160856613L; private Long id; private String userName; private String passWord; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassWord() { return passWord; } public void setPassWord(String passWord) { this.passWord = passWord; } @Override public String toString() { return "UserEntity{" + "id=" + id + ", userName='" + userName + '\'' + ", passWord='" + passWord + '\'' + '}'; }}
3.4 MongoTemplate操作
package com.lm.dao.impl;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.mongodb.core.MongoTemplate;import org.springframework.data.mongodb.core.query.Criteria;import org.springframework.data.mongodb.core.query.Query;import org.springframework.data.mongodb.core.query.Update;import org.springframework.stereotype.Component;import com.lm.dao.UserDao;import com.lm.entity.UserEntity;import com.mongodb.WriteResult;@Componentpublic class UserDaoImpl implements UserDao { @Autowired private MongoTemplate mongoTemplate; /** * 创建对象 * @param user */ @Override public void saveUser(UserEntity user) { mongoTemplate.save(user); } /** * 根据用户名查询对象 * @param userName * @return */ @Override public UserEntity findUserByUserName(String userName) { Query query=new Query(Criteria.where("userName").is(userName)); UserEntity user = mongoTemplate.findOne(query , UserEntity.class); return user; } /** * 更新对象 * @param user */ @Override public int updateUser(UserEntity user) { Query query=new Query(Criteria.where("id").is(user.getId())); Update update= new Update().set("userName", user.getUserName()).set("passWord", user.getPassWord()); //更新查询返回结果集的第一条 WriteResult result =mongoTemplate.updateFirst(query,update,UserEntity.class); //更新查询返回结果集的所有 // mongoTemplate.updateMulti(query,update,UserEntity.class); if(result!=null) return result.getN(); else return 0; } /** * 删除对象 * @param id */ @Override public void deleteUserById(Long id) { Query query=new Query(Criteria.where("id").is(id)); mongoTemplate.remove(query,UserEntity.class); }}
3.5 测试用例
package com.lm;import org.junit.Test;import org.springframework.beans.factory.annotation.Autowired;import com.lm.dao.UserDao;import com.lm.entity.UserEntity;public class UserDaoTest extends AppTest { @Autowired private UserDao userDao; @Test public void testSaveUser() throws Exception { UserEntity user=new UserEntity(); user.setId(2l); user.setUserName("小明"); user.setPassWord("xiaoming1"); userDao.saveUser(user); } @Test public void findUserByUserName(){ UserEntity user= userDao.findUserByUserName("小明"); System.out.println("user is "+user); } @Test public void updateUser(){ UserEntity user=new UserEntity(); user.setId(2l); user.setUserName("小红"); user.setPassWord("小红1"); userDao.updateUser(user); } @Test public void deleteUserById(){ userDao.deleteUserById(1l); }}
3.6 实例结果
Github: https://github.com/a123demi/spring-boot-integration
- 六.SpringBoot集成实例系列-单数据源mongodb(权限控制)
- 一. SpringBoot集成实例系列-xml型单数据源mybatis
- 三.SpringBoot集成实例系列-注解型单数据源mybatis
- 七.SpringBoot集成实例系列-多数据源mongodb(一)
- springboot集成shiro 实现权限控制
- 七.SpringBoot集成实例系列-多数据源mongodb+lombok(二)
- SpringBoot -- 集成MongoDB
- SpringBoot -- 集成MongoDB
- SpringBoot中集成MongoDB
- SpringBoot集成MongoDB
- springBoot集成MongoDB
- 五.SpringBoot集成实例系列-邮件email文章列表
- 八.SpringBoot集成实例系列-持久化jpa
- springboot + mongodb 查询实例
- springboot集成mybatis实例
- SpringBoot权限控制
- MongoDB的权限控制
- mongodb 访问权限控制
- Java多线程的应用场景
- codeforces 515C Drazil and Factorial
- 第十八篇 JS传参数
- myeclipse 编译项目不正确 d-gui.exe
- Spring里PropertyPlaceholderConfigurer类的使用
- 六.SpringBoot集成实例系列-单数据源mongodb(权限控制)
- Redis安装和配置教程
- 前端入门练手项目
- Swift开发必备技巧:内存管理、weak和unowned
- c++ prime plus 第十一章 第6题
- 光场数据库mark
- Service的一点理解
- Java面试题全集(上)
- 每日一贴--2017/9/13