1.MongoDB介绍:
MongoDB是有C++语言编写的一种NoSQL,是一个基于分布式文件存储的开源数据库
系统,在负载高时可以添加更多的节点,以保证服务性能,MongoDB的目的是为WEB
应用提供可扩展的高性能数据存储解决方案。
2.配置MongoDB:
#MONGODB(MongoProperties)
spring.data.mongodb.authentication-database= # 用于签名的MongoDB数据库
spring.data.mongodb.database = test #数据库名称
spring.data.mongodb.field-naming-strategy= #使用字段名策略
spring.data.mongodb.grid-fs-database= #GridFs(网络文件)数据库名称
spring.data.mongodb.host=localhost #MongoDB服务器,不能设置为uri
spring.data.mongodb.password=root #MongoDB服务器用户密码
spring.data.mongodb.prot=8001 #MongoDB服务器端口
spring.data.mongodb.properties.type=auto #是否启用jpa规范编程
spring.data.mongodb.uri=mongodb://localhost/test #默认MongoDB URI
spring.data.mongodb.username = root #MongoDB服务器用户名
因为有了默认的配置,在默认配置机器不存在MongoDB服务器时就会出现报错,因此往往需要加入自己的配置。
3.使用MongoTemplate实例
Spring Data MongoDB 主要是用过MongoTemplate进行操作数据库的
3.1搭建开发环境
用户POJO
@Document
public class User implements Serializable{
@Id
private Long id;
@Field(“user_name”)
private String userName = null;
private String note = null;
private List roles = null;
}
这里的@Document标明可以把角色POJO当作一个MongoDB的文档单独使用。@Field进行设置,这样属性userName与MongoDB中的user_name属性对应起来了。
角色POJO
@Document
public class Role implements Serializable{
private static final long serialVersionUID = -35467896578997899L;
private Long id;
@Field("role_name")
private String roleName = null;
private String note = null;
}
用户控制器
@Controller
@RequestMapping("/User")
public class UserController{
@Autowried
private UserService userService = null;
@RequestMappring("/page")
public String page(){
return "user";
}
/**
*保存用户
*/
@RequestMapping("/save")
@ResponseBody
public User saveUser(@RequestBody User user){
userService.saveUser(user);
return user;
}
/**
*获取用户
*/
@RequestMapping("/get")
@ResponseBody
public User getUser(Long id){
User user = userService.getUser(id);
return user;
}
/**
*查询用户
*/
@RequestMapping("/find")
@ResponseBody
public List<User> addUser(String userName,String note,Integer skip,Integer limit){
List<User> userList= userService.findUser(userName,note,skip,limit);
return userList;
}
/**
*更新用户
*/
@RequestMapping("/update")
@ResponseBody
public UpdateResult updateUser(Long id,String userName,String note){
reutrn userService.updateUser(id,userName,note);
}
/**
*删除用户
*/
@RequestMapping("/delete")
@ResponseBody
public DeleteResult deleteUser(Long id){
reutrn userService.deleteUser(id);
}
}
下一篇介绍使用MongoDB Template操作文档。