版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/baofengyu90/article/details/86500356
1、先安装MongoDB,网上资料很多,就不多说了。或者看我的这篇安装教程(Win7 64位安装MongoDB 4.0.5)https://blog.csdn.net/baofengyu90/article/details/86498314
2、pom添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
3、MongoDB创建用户名和密码
连上服务器后,我是切换到test数据库,即use test,
然后执行下面语句,创建用户、设置密码、设置角色等:
db.createUser({"user":"mytest","pwd":"mytest","customData":{
employeeId:12345},"roles":["readWrite"]},{w:"majority",wtimeout:5000})
成功以后,会出现successfully added ....
参数的含义,待解释............
4、配置连接,在application.properties文件中添加如下(mytest为用户名和密码,test为数据库名称)
spring.data.mongodb.uri=mongodb://mytest:mytest@localhost:27017/test
5、分别新建UserDao,及UserImpl,及实体
public interface UserDao {
public void saveUser(UserInfo userInfo);
}
@Service
public class UserDaoImpl implements UserDao{
@Autowired
private MongoTemplate mongoTemplate;
@Override
public void saveUser(UserInfo userInfo) {
mongoTemplate.save(userInfo);
System.out.println("新增完成...");
}
}
这个用户实体可以简单写,我直接拿以前写好的,懒得改了
public class UserInfo implements Serializable {
private static final long serialVersionUID = 1L;
private Integer uid;
private String username;// 帐号
private String name;// 名称(昵称或者真实姓名,不同系统不同定义)
private String password; // 密码;
private String salt;// 加密密码的盐
private byte state;// 用户状态,0:创建未认证(比如没有激活,没有输入验证码等等)--等待验证的用户 ,
// 1:正常状态,2:用户被锁定.
public Integer getUid() {
return uid;
}
public void setUid(Integer uid) {
this.uid = uid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getSalt() {
return salt;
}
public void setSalt(String salt) {
this.salt = salt;
}
public byte getState() {
return state;
}
public void setState(byte state) {
this.state = state;
}
/**
* 密码盐.
* @return
*/
public String getCredentialsSalt(){
return this.username+this.salt;
}
//重新对盐重新进行了定义,用户名+salt,这样就更加不容易被破解
}
6、写测试
@RunWith(SpringRunner.class)
@SpringBootTest
public class UserDaoTest {
@Autowired
private UserDao userDao;
@Test
public void save(){
UserInfo userInfo = new UserInfo();
userInfo.setName("xiaoxiao1");
userDao.saveUser(userInfo);
}
}
验证结果: