1. 首先创建springboot 项目 pom.xml 的内容如下
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
2. application.properties配置文件
连接mongodb数据库
spring.data.mongodb.uri:mongodb://localhost:27017/数据库名
当然我这种连接MongoDB数据库是没有用户密码的情况下,如果你的DB库有账号密码可修改为:
spring.data.mongodb.uri=mongodb://DB库账号:DB库密码@localhost:27017/数据库名
3. 创建实体类
@Data//getset方法
@NoArgsConstructor//无参构造
@AllArgsConstructor//有参构造
@Document//声明次实体类对应的是mongoDB
@ToString//toString方法
public class User {
@Id
private Integer id;
private String name;
private Integer age;
}
4. dao层(这里就不做Service层了)
@Component
public class UserDao {
@Autowired
private MongoTemplate mongoTemplate;
/**
* 创建对象
*/
public void saveUser(User user) {
mongoTemplate.save(user);
}
/**
* 根据用户名查询对象
* @return
*/
public User findUserByName(String name) {
Query query=new Query(Criteria.where("name").is(name));
User user = mongoTemplate.findOne(query , User.class);
return user;
}
/**
* 查询所有对象
* @return
*/
public List<User> findUser(){
List<User> users = mongoTemplate.findAll(User.class);
return users;
}
/**
* 更新对象
*/
public void updateUser(User user) {
Query query=new Query(Criteria.where("id").is(user.getId()));
Update update= new Update().set("age", user.getAge()).set("name", user.getName());
//更新查询返回结果集的第一条
mongoTemplate.updateFirst(query,update,User.class);
//更新查询返回结果集的所有
// mongoTemplate.updateMulti(query,update,TestEntity.class);
}
/**
* 删除对象
* @param id
*/
public void deleteUserById(Integer id) {
Query query=new Query(Criteria.where("id").is(id));
mongoTemplate.remove(query,User.class);
}
}
5. Controller控制层
@RestController
public class UserController {
@Autowired
private UserDao userDao;
//新增用户
@GetMapping(value="/saveUser")
public void saveUser() throws Exception {
User user=new User();
user.setId(2);
user.setAge(19);
user.setName("邢磊磊");
userDao.saveUser(user);
}
//查询所有对象
@GetMapping(value="/findUser")
public List<User> findUser(){
List<User> users = userDao.findUser();
System.out.println(users);
return users;
}
//根据用户name查询用户
@GetMapping(value="/findUserByName")
public User findUserByName(){
User user= userDao.findUserByName("邢磊");
System.out.println("user is "+user);
return user;
}
//根据id修改用户
@GetMapping(value="/updateUser")
public void updateUser(){
User user=new User();
user.setId(2);
user.setAge(19);
user.setName("赵雷");
userDao.updateUser(user);
}
//根据ID删除对象
@GetMapping(value="/deleteUserById")
public void deleteUserById(){
userDao.deleteUserById(2);
}
}
6. 最后开始访问方法,每访问一次到数据库查看一下测试是否成功,若有疑问请留言。谢谢!