文档数据库---MongoDB

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操作文档。

猜你喜欢

转载自blog.csdn.net/huahuaxiji/article/details/88355338