springboot集成mongodb

16 篇文章 0 订阅
2 篇文章 0 订阅

1.pom文件中maven的引入

<!-- SpringBoot集成 mongodb -->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-data-mongodb</artifactId>

</dependency>

2.配置文件

# spring.data.mongodb.uri=mongodb://username:password@localhost:27017/test
spring:
   data:
     mongodb:
       uri: mongodb://116.62.152.137:27087/jwbasta

3.实体类

/**

* 学生基本信息

* @author jiangwei

*

*/

public class Student {



// 主键id

private String id;

// 姓名

private String name;

// 年龄

private Integer age;

// 性别

private Integer sex;

// 身高

private Integer height;

// 爱好

private Hobbies hobbies;



public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Integer getAge() {

return age;

}

public void setAge(Integer age) {

this.age = age;

}

public Integer getSex() {

return sex;

}

public void setSex(Integer sex) {

this.sex = sex;

}

public Integer getHeight() {

return height;

}

public void setHeight(Integer height) {

this.height = height;

}

public Hobbies getHobbies() {

return hobbies;

}

public void setHobbies(Hobbies hobbies) {

this.hobbies = hobbies;

}





}



/**

* 兴趣爱好

* @author jiangwei

*

*/

public class Hobbies {



// 兴趣名称

private String hname;



public String getHname() {

return hname;

}



public void setHname(String hname) {

this.hname = hname;

}







}

4.dao层

/**

* MongoDB数据处理层

* @author jiangwei

*

*/



@Component

public class MongoDbDao {





@Autowired

private MongoTemplate mongoTemplate;



/**

* 保存

* @param s

*/

public void save(Student s) {

mongoTemplate.save(s);

}



/**

* 获取单个

* @param query

* @return

*/

public Student get(Query query) {

return mongoTemplate.findOne(query,Student.class);

}



/**

* 获取所有

* @return

*/

public List<Student> findAll() {

return mongoTemplate.findAll(Student.class);

}



/**

* 按条件更新

* @param query

* @param update

*/

public void update(Query query, Update update) {

mongoTemplate.updateMulti(query,update,Student.class);

}



/**

* 根据条件删除数据

* @param query

*/

public void delete(Query query) {

mongoTemplate.remove(query,Student.class);

}

}

5.service层

/**

* MongoDB操作数据接口

* @author jiangwei

*

*/

public interface MongoDBService {



/**

* 新增

*/

public void save();



/**

* 获取

* @return

*/

public Student get();



/**

* 查询所有

* @return

*/

public List<Student> findAll();



/**

* 更新

*/

public void update();



/**

* 删除

*/

public void delete();





}



/**

* MongoDB业务逻辑实现类

* @author jiangwei

*

*/



@Service

public class MongoDBServiceImpl implements MongoDBService{



@Autowired

private MongoDbDao mongoDbDao;



@Override

public void save() {

// TODO Auto-generated method stub

Student s=new Student();

s.setName("lisi");

s.setAge(17);

s.setSex(1);

s.setHeight(182);

Hobbies h=new Hobbies();

h.setHname("swing");

s.setHobbies(h);

mongoDbDao.save(s);

}



@Override

public Student get() {

//and查询

/* Criteria criteriaName=Criteria.where("name").is("lisi");

Criteria criteriaAage=Criteria.where("age").is(17);

Criteria andCriteria = new Criteria();

andCriteria.andOperator(criteriaName,criteriaAage);

Query query=new Query(andCriteria);*/

//or查询

Criteria criteriaName=Criteria.where("name").is("lisi");

Criteria criteriaAage=Criteria.where("age").gt(16);

Criteria orCriteria = new Criteria();

orCriteria.orOperator(criteriaName,criteriaAage);

Query query=new Query(orCriteria);



return mongoDbDao.get(query);

}



@Override

public List<Student> findAll() {

// TODO Auto-generated method stub

return mongoDbDao.findAll();

}



@Override

public void update() {

Query query=new Query(Criteria.where("name").is("zhangsan"));

Update update=new Update();

update.set("age",30);

update.set("height",188);

update.set("hobbies.hname","basketball");

mongoDbDao.update(query,update);



}



@Override

public void delete() {

// TODO Auto-generated method stub

Query query=new Query(Criteria.where("name").is("zhangsan"));

mongoDbDao.delete(query);

}



}

6.controller层

/**

* MongoDB操作控制层

* @author jiangwei

*

*/

@RestController

@RequestMapping("/mongodb")

public class MongoDBController extends BaseController{



@Autowired

private MongoDBService mongoDbService;





/**

* 新增学生信息

*/

@RequestMapping("/save")

@ResponseBody

public JSONObject save(){

mongoDbService.save();

return CommonUtil.successJson();

}



/**

* 获取单个学生信息

* @return

*/

@RequestMapping("/get")

@ResponseBody

public JSONObject get(){

Student stu=mongoDbService.get();

return CommonUtil.successJson(stu);

}



/**

* 获取所有学生信息

* @return

*/

@RequestMapping("/findAll")

@ResponseBody

public JSONObject findAll(){

List<Student> list=mongoDbService.findAll();

return CommonUtil.successJson(list);

}



/**

* 更新学生信息

* @return

*/

@RequestMapping("/update")

@ResponseBody

public JSONObject update(){

mongoDbService.update();

return CommonUtil.successJson();

}



/**

* 删除学生信息

* @return

*/

@RequestMapping("/delete")

@ResponseBody

public JSONObject delete(){

mongoDbService.delete();

return CommonUtil.successJson();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值