整合
首先我们得使用springboot整合咱们的mongodb,第一步,当然是引入依赖啦
<!--mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<!--mongodb-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mongodb/mongo-java-driver -->
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.12.7</version>
</dependency>
<!--druid数据源-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
</dependency>
applicaton.yml配置
spring:
data:
mongodb:
#uri: mongodb://localhost:27017/test
host: 127.0.0.1
port: 27017
username:
password:
database: test
datasource:
type: com.alibaba.druid.pool.DruidDataSource #druid数据源
mybatis:
type-aliases-package: com.mjs.common.pojo #这里是实体类所在的包
mapper-locations: classpath:/mapper
@SpringBootApplication(exclude= {DataSourceAutoConfiguration.class})
@MapperScan(basePackages = "com.mjs.dao")
public class MJSagentApplication {
public static void main(String[] args) {
SpringApplication.run(MJSagentApplication.class,args);
}
}
crud
到这里咱们就已经整合完成了,接下来,创建一个类 StudentDao,用于测试
然后再StudentDao中引入MongoTemplate,它底层帮我们封装好了对mondodb操作的代码,简化了我们开发时的操作,这样开发的时候我们有更多的时间去实现业务
@Autowired
private MongoTemplate mongoTemplate;
添加
写一个方法,添加一个学生,调用mongoTemplate中的save方法
public boolean insert(Student student){
Student stu = mongoTemplate.save(student);
return stu!=null;
}
当然在这里可以使用mongoTemplate自带的insert方法,两者效果相同
删除
咱们也用一个案例来理解删除
目标:根据名字删除学生
实现:
public boolean deleteByName(String name){
//添加约束
Query query =new Query(Criteria.where("name").is(name));
//根据条件删除学生,并返回结果
DeleteResult result = mongoTemplate.remove(query, Student.class);
return result.getDeletedCount()>0;
}
其他条件可以根据该案例,举一反三
修改
目标:根据id修改学生信息
实现:
public boolean updateStu(Student student){
//添加约束
Query query =new Query(Criteria.where("id").is(student.getId()));
//设置要修改的值
Update update=new Update();
update.set("age",student.getAge());
update.set("sex",student.getAge());
//修改并返回结果
UpdateResult updateResult = mongoTemplate.updateFirst(query, update, Student.class);
return updateResult.getMatchedCount()>0;
}
查询
无参数的查询所有
public List<Student> findAll(){
return mongoTemplate.findAll(Student.class);
}
根据条件查询
目标:根据学生名称查询学生列表
实现:
public List<Student> findByName(String name){
//添加约束
Query query=new Query(Criteria.where("name").is(name));
//返回结果
return mongoTemplate.find(query,Student.class);
}
到此这篇关于springboot整合mongodb并实现crud的文章就介绍到这了,更多相关springboot整合mongodb内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!