Spring Boot(四)——Mongodb
来源:互联网 发布:线性时间选择算法c语言 编辑:程序博客网 时间:2024/06/05 05:24
Spring Boot 学习笔记:
Spring Boot(一)——入门环境搭建 Spring Boot(二)——MyBatis Spring Boot(三)——Redis
Spring Boot(四)——Mongodb Spring Boot(五)——RabbitMQ Spring Boot(六)——Spring Data JpaGitHub地址:
https://github.com/lyhkmm/SpringBoot
一、Mongodb介绍
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
二、使用配置
1、在pom.xml中添加相关依赖:
<!--mongodb的模块--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId></dependency>
2、在application.properties添加mongodb的连接地址:
spring.data.mongodb.uri=mongodb://localhost:27017/mydb#spring.data.mongodb.uri=mongodb://name:pass@localhost:27017/mydb name为用户名、pass为密码,如果没有设置可以省略
3、创建用户实体类:
package com.lyh.demo.entity;import java.io.Serializable;public class UserEntity implements Serializable{ 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 + '\'' + '}'; }}
4、创建Dao层接口和实现类:
UserDao的接口
package com.lyh.demo.dao;import com.lyh.demo.entity.UserEntity;public interface UserDao { public void saveUser(UserEntity user); public UserEntity findUserByUserName(String userName); public int updateUser(UserEntity user); public void deleteUserById(Long id);}
UserDao的实现类
package com.lyh.demo.dao.impl;import com.lyh.demo.dao.UserDao;import com.lyh.demo.entity.UserEntity;import com.mongodb.WriteResult;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;@Componentpublic class UserDaoImpl implements UserDao{ @Autowired private MongoTemplate mongoTemplate; /** * @Author:linyuanhuang * @Description:创建对象 * @Date:17:44 2017/12/8 * @param user */ @Override public void saveUser(UserEntity user) { mongoTemplate.save(user); } /** * @Author:linyuanhuang * @Description:根据用户名查询对象 * @Date:17:44 2017/12/8 * @param userName */ @Override public UserEntity findUserByUserName(String userName) { Query query=new Query(Criteria.where("userName").is(userName)); UserEntity user = mongoTemplate.findOne(query , UserEntity.class); return user; } /** * @Author:linyuanhuang * @Description:更新对象 * @Date:17:45 2017/12/8 * @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; } /** * @Author:linyuanhuang * @Description:删除对象 * @Date:17:45 2017/12/8 * @Param:id */ @Override public void deleteUserById(Long id) { Query query=new Query(Criteria.where("id").is(id)); mongoTemplate.remove(query,UserEntity.class); }}
关于mongoTemplate的api有很多,大家可以去相应的网站查询。
5、调用方法:
package com.lyh.demo.controller;import org.springframework.web.bind.annotation.RestController;import com.lyh.demo.dao.UserDao;import com.lyh.demo.entity.UserEntity;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.RequestMapping;@RestControllerpublic class HelloWorldController { @Autowired private UserDao userDao; @RequestMapping("/helloWorld") public String helloWorld(){ return "HelloWorld"; } @RequestMapping("/save") public String testSaveUser() throws Exception { UserEntity user=new UserEntity(); user.setId(520L); user.setUserName("小林"); user.setPassword("111111"); userDao.saveUser(user); return "保存成功"; } @RequestMapping("/get") public String findUserByUserName(){ UserEntity user= userDao.findUserByUserName("小林"); System.out.println("user :"+user.toString()); return "user :"+user.toString(); } @RequestMapping("/update") public String updateUser(){ UserEntity user=new UserEntity(); user.setId(520L); user.setUserName("小林"); user.setPassword("123456"); userDao.updateUser(user); return "更新成功"; } @RequestMapping("/delete") public String deleteUserById(){ userDao.deleteUserById(520L); return "删除成功"; }}
三、通过浏览器测试验证:
1、浏览器输入地址:http://localhost:8080/save,如下图:
其他三项的测试这里就不展示了,可以使用mongoVUE工具或登录服务器用命令来查看数据。
到此springboot对应mongodb的增删改查功能已经全部实现。
下一章:Spring Boot(五)——RabbitMQ GitHub案例地址:SpringBoot+Mongodb
阅读全文
0 0
- Spring Boot(四)——Mongodb
- Spring 架构篇——Spring Boot 整合 MongoDB
- Spring Boot Mongodb
- spring boot 连接mongodb
- 4、Spring Boot Mongodb
- spring-boot集成MongoDB
- spring-boot mongodb配置
- spring boot集成mongodb
- spring boot 整合mongodb
- spring boot 整合mongodb
- spring boot Mongodb
- spring-boot使用mongoDB
- spring boot 集成 mongodb
- Spring Boot集成MongoDB
- Spring Boot集成MongoDB
- Spring Boot + MongoDB
- spring boot 自学笔记(四) Redis集成—Jedis
- Spring-boot(四)
- Linux下使用git命令及github项目
- 20171208
- QT 局域网聊天 C/S
- 多地养老金告急,几十年后你可能没钱可领!
- android获取SIM卡信息和手机号码
- Spring Boot(四)——Mongodb
- 学习Maven日记-2
- 111
- capstone2017-12-8
- "",string.Empty和null三者的区别
- lintcode----解码方法
- 快速整理名片,移动端名片识别
- 4k HDR – 8 bit, 10 bit, 12 bit, and all the bits you need to know
- eclipse error:could not open jvm.cfg解决办法