SpringBoot操作MongoDB实现增删改查
SpringBoot操作MongoDB实现增删改查
本篇博客主讲如何使用SpringBoot操作MongoDB。
SpringBoot操作MongoDB实现增删改查
(1)pom.xml引入依赖
<groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>
(2)创建application.yml
spring:
data:
mongodb: host: 192.168.72.129 database: studentdb
(3)创建实体类
创建包com.changan.mongodb,包下建包pojo 用于存放实体类,创建实体类
package com.changan.mongdb.pojo;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import java.io.Serializable;
@Document(collection = "student")
public class Student implements Serializable {
@Id private Long id; private String name; private String sex; private String age; private String introduce; public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String getIntroduce() { return introduce; } public void setIntroduce(String introduce) { this.introduce = introduce; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Long getId() { return id; } public void setId(Long id) { this.id = id; }
}
(4)创建数据访问接口
com.changan.mongodb包下创建dao包,包下创建接口
package com.changan.mongdb.dao;
import com.changan.mongdb.pojo.Student;
import java.util.List;
import java.util.Map;
public interface StudentDao {
void save(Student student); void update(Student student); List<Student> findAll(); void delete(Integer id);
}
(5)创建业务逻辑类
com.changan.mongodb包下创建impl包,包下创建类
package com.changan.mongdb.dao.impl;
import com.changan.mongdb.dao.StudentDao;
import com.changan.mongdb.pojo.Student;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.aggregation.Aggregation;
import org.springframework.data.mongodb.core.aggregation.LookupOperation;
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;
import java.util.List;
@Component
public class StudentDaoImpl implements StudentDao {
@Autowired private MongoTemplate mongoTemplate; /** * 新增信息 * @param student */ @Override public void save(Student student) { mongoTemplate.save(student); } /** * 修改信息 * @param student */ @Override public void update(Student student) { //修改的条件 Query query = new Query(Criteria.where("id").is(student.getId())); //修改的内容 Update update = new Update(); update.set("name",student.getName()); mongoTemplate.updateFirst(query,update,Student.class); } /** * 查询所有信息 * @return */ @Override public List<Student> findAll() { return mongoTemplate.findAll(Student.class); } /** * 根据id查询所有信息 * @param id */ @Override public void delete(Integer id) { Student byId = mongoTemplate.findById(1,Student.class); mongoTemplate.remove(byId); }
}
(6)创建测试类
package com.changan.mongdb;
import com.changan.mongdb.dao.StudentDao;
import com.changan.mongdb.pojo.Student;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.List;
import java.util.Map;
@RunWith(SpringRunner.class)
@SpringBootTest
public class MongdbApplicationTests {
@Autowired private StudentDao studentDao; /** * 查询所有信息 */ @Test public void findAll() { List<Student> all = studentDao.findAll(); System.out.println(all.size()); } /** * 新增信息 */ @Test public void save() { Student student = new Student(); student.setId(6l); student.setName("宋人头"); studentDao.save(student); } /** * 修改信息 */ @Test public void update() { Student student = new Student(); student.setId(2l); student.setName("吴很帅"); studentDao.update(student); } /** * 删除信息 */ @Test public void delete() { studentDao.delete(3); }
}
作者:丢了微笑该如何释怀
来源:CSDN
原文:https://blog.csdn.net/weixin_42236165/article/details/91884029
版权声明:本文为博主原创文章,转载请附上博文链接!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
SSM框架———初识MyBatis
SSM框架———初识MyBatis一.什么是MyBatis?MyBatis源自Apache的iBatis开源项目, 从iBatis3.x开始正式更名为MyBatis。它是一个优秀的持久层框架。二.为什么使用MyBatis?为了和数据库进行交互,通常的做法是将SQL语句写在Java代码中,SQL语句和Java代码耦合在一起不利于后期维护修改,而MyBatis能够帮助我们将SQL语句和Java代码分离,方便了后期因需求变动而对SQL语句进行修改。(联系properties文件的作用)三. 如何使用MyBatisa、下载MyBatis相应jar包:https://github.com/mybatis/mybatis-3/releasesb、创建Java工程,导入MyBatis jar包(mybatis-3.4.4.jar)和数据库驱动包c、创建user_info表并添加数据(此处使用MySQL) create table user_info( id char(36) primary key, user_name varchar(15) unique, password varchar(15)...
- 下一篇
《阿里云前端技术周刊》第十二期
作者:偏左校对:亦才南逸 知乎:阿里云中台前端/全栈团队专栏Github:阿里云前端技术周刊 给我们投稿:传送门参与交流:传送门 前端速报 2019杭州云栖大会Apsara Conference将于9月25日在杭州云栖小镇开幕,早鸟票开售 详情 都9102年了,你还了解javaScript的性能开销在哪里吗?V8团队发表文章The cost of JavaScript in 2019 输出最强性能优化指引: 详情看点: JSON.parse竟然比对象字面量快很多,大规模使用对象字面量的库如Redux是否将迎来优化?详情 那么"JSON字面量"新语法是否会诞生呢?比如: const jsonLiteral = { key: "value" } W3C 发布 CSS Animation Worklet API 规范的首个公开工作草案,Anim
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Hadoop3单机部署,实现最简伪集群
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS关闭SELinux安全模块
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- SpringBoot2整合Redis,开启缓存,提高访问速度