Spring Boot 实战 :集成 MongoDB,java三大框架教程

wuchangjian2021-11-15 12:47:06编程学习

import org.springframework.data.mongodb.core.MongoTemplate;

import org.springframework.data.mongodb.core.query.Criteria;

import org.springframework.data.mongodb.core.query.Query;

import java.util.List;

/**

  • @ClassName BaseMongoService

  • @Description

  • @author Alex

  • @Date 2019-03-29 16:17:29

  • @version 1.0.0

  • @param

*/

public class BaseMongoService {

@Autowired

private MongoTemplate mongoTemplate;

/**

  • @Description 插入对象

  • @param mongo mongo对象

  • @return

  • Create at: 2019-03-29 16:10:55

  • @author: Alex

  • Revision:

  • 2019-03-29 16:10:55 - first revision by Alex

*/

public String insert(T mongo) {

try {

mongoTemplate.save(mongo);

return “success”;

} catch (Exception e) {

e.printStackTrace();

return “error”;

}

}

/**

  • @Description 设置id

  • @param id

  • @return

  • Create at: 2019-03-29 16:12:02

  • @author: Alex

  • Revision:

  • 2019-03-29 16:12:02 - first revision by Alex

*/

public Query setId(String id) {

Query query = new Query(Criteria.where("_id").is(id));

return query;

}

/**

  • @Description 获取UpdateQuery

  • @return

  • Create at: 2019-03-29 16:12:33

  • @author: Alex

  • Revision:

  • 2019-03-29 16:12:33 - first revision by Alex

*/

public UpdateQuery getUpdateQuery() {

return new UpdateQuery();

}

/**

  • @Description 根据id更新

  • @param query setId的query

  • @param up update对象

  • @param entityClass 对象class

  • @return

  • Create at: 2019-03-29 16:13:09

  • @author: Alex

  • Revision:

  • 2019-03-29 16:13:09 - first revision by Alex

*/

public String updateById(Query query,UpdateQuery up,Class entityClass) {

try {

mongoTemplate.updateFirst(query, up.getUpdate(), entityClass);

return “success”;

} catch (Exception e) {

e.printStackTrace();

return “error”;

}

}

/**

  • @Description 查询全部

  • @param entityClass 对象class

  • @return

  • Create at: 2019-03-29 16:14:57

  • @author: Alex

  • Revision:

  • 2019-03-29 16:14:57 - first revision by Alex

*/

public List findAll(Class entityClass) {

return mongoTemplate.findAll(entityClass);

}

/**

  • @Description 根据id查询

  • @param id

  • @param entityClass 对象class

  • @return

  • Create at: 2019-03-29 16:16:20

  • @author: Alex

  • Revision:

  • 2019-03-29 16:16:20 - first revision by Alex

*/

public T selectById(String id,Class entityClass) {

Query query = new Query(Criteria.where("_id").is(id));

return mongoTemplate.findOne(query, entityClass);

}

/**

  • @Description 根据Criteria查询

  • @param criteria

  • @param entityClass 对象class

  • @return

  • Create at: 2019-03-29 16:17:57

  • @author: Alex

  • Revision:

  • 2019-03-29 16:17:57 - first revision by Alex

*/

public List select(Criteria criteria,Class entityClass) {

Query query = new Query();

query.addCriteria(criteria);

return mongoTemplate.find(query, entityClass);

}

/**

  • @Description 删除对象

  • @param mongo mongo对象

  • @return

  • Create at: 2019-03-29 16:18:45

  • @author: Alex

  • Revision:

  • 2019-03-29 16:18:45 - first revision by Alex

*/

public String delete(T mongo) {

try {

mongoTemplate.remove(mongo);

return “success”;

} catch (Exception e) {

e.printStackTrace();

return “error”;

}

}

/**

  • @Description 根据id删除

  • @param id

  • @param entityClass 对象class

  • @return

  • Create at: 2019-03-29 16:20:10

  • @author: Alex

  • Revision:

  • 2019-03-29 16:20:10 - first revision by Alex

*/

public String deleteById(String id,Class entityClass) {

try {

T mongo = selectById(id,entityClass);

delete(mongo);

return “success”;

} catch (Exception e) {

e.printStackTrace();

return “error”;

}

}

}

配置 mongoMapper  这个地方继承了一下 Tk_Batis ,Tk 和 Mongo 可以同时使用并不会冲突

package com.cs.mongodb.mapper;

import com.cs.mongodb.model.Mongo;

import com.cs.mongodb.repository.BaseMapper;

/**

  • @InterfaceName MongoMapper

  • @Param

  • @Author linluochen

  • @Date 2019/5/3 10:39

  • @Version 1.0

**/

public interface MongoMapper extends BaseMapper {

}

调用 mongoService

package com.cs.mongodb.service.impl;

import com.cs.mongodb.model.Mongo;

import com.cs.mongodb.repository.BaseMongoService;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.data.mongodb.core.MongoTemplate;

import org.springframework.stereotype.Service;

import java.util.HashMap;

import java.util.Map;

/**

  • @InterfaceName MongoService

  • @Param

  • @Author linluochen

  • @Date 2019/5/3 10:40

  • @Version 1.0

**/

@Service

public class MongoServiceImpl extends BaseMongoServi

【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】

浏览器打开:qq.cn.hn/FTf 开源分享

ce { // 实现类继承的是 MongoDBService 一定要注意

@Autowired

private MongoTemplate mongoTemplate;

public Map<String,String> insertOne(Mongo Mongo) {

Map<String,String> relMap = new HashMap<String,String>();

try {

mongoTemplate.insert(Mongo);

relMap.put(“relMsg”,“success”);

} catch (Exception e) {

e.printStackTrace();

relMap.put(“relMsg”,“error”);

}

return relMap;

}

}

测试 mongoDB

package com.cs.mongodb;

import com.cs.mongodb.model.Mongo;

import com.cs.mongodb.service.impl.MongoServiceImpl;

import org.junit.Test;

import org.junit.runner.RunWith;

相关文章

linux下各种软件的启动与关闭

linux下各种软件的启动与关闭

一、zookeeper         在准备好相应的配置之后,可以直接...

Redis 击穿、穿透、雪崩产生原因以及解决思路

Redis 击穿、穿透、雪崩产生原因以及解决思路

前言 大家都知道,计算机的瓶颈之一就是IO,为了解决内存与...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。