赞
踩
MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。
在高负载的情况下,添加更多的节点,可以保证服务器性能。
MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON
对象。字段值可以包含其他文档,数组及文档数组。

1、pom文件
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> </dependencies>
2、yml配置文件
spring:
data:
mongodb:
uri: mongodb://146.56.248.207:27017/mongo
3、实体类
import lombok.AllArgsConstructor;
import lombok.Data;
import org.springframework.data.annotation.Id;
/**
* mongodb实体类
* @author 流星
*/
@Data
@AllArgsConstructor
public class User {
@Id
private Long id;
private String name;
private String remark;
}
4、mapper类
import com.mongo1.entity.User; import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.stereotype.Repository; /** * 类似mybatis-plus,实现快捷数据操作 * 这个接口里面的方法都是自定义的 * 使用的时候直接在service层调用方法就可以了 * @author 流星 */ @Repository public interface MongoDBMapper extends MongoRepository<User,Long> { /** * 根据name差信息 */ User findByName(String name); /** * 根据remark差信息 */ User findByRemark(String remark); }
5、config文件
import org.springframework.beans.factory.BeanFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.convert.CustomConversions; import org.springframework.data.mongodb.MongoDatabaseFactory; import org.springframework.data.mongodb.core.convert.DbRefResolver; import org.springframework.data.mongodb.core.convert.DefaultDbRefResolver; import org.springframework.data.mongodb.core.convert.DefaultMongoTypeMapper; import org.springframework.data.mongodb.core.convert.MappingMongoConverter; import org.springframework.data.mongodb.core.mapping.MongoMappingContext; /** * 去掉mongodb中collection的_class属性 * @author 流星 */ @Configuration public class MongoMappingConfig { @Bean public MappingMongoConverter mappingMongoConverter(MongoDatabaseFactory factory, MongoMappingContext context, BeanFactory beanFactory) { DbRefResolver dbRefResolver = new DefaultDbRefResolver(factory); MappingMongoConverter converter = new MappingMongoConverter(dbRefResolver, context); try { converter.setCustomConversions(beanFactory.getBean(CustomConversions.class)); } catch (Exception e) { e.printStackTrace(); } //don't save column _class to mongo collection converter.setTypeMapper(new DefaultMongoTypeMapper(null)); return converter; } }
import com.mongo1.entity.User; import com.mongo1.service.MongoDBService; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; /** * description controller层,测试类 * * @author 流星 * @date 2022/4/26 16:38 */ @RestController @RequestMapping public class MainController { @Resource private MongoDBService mongoDBService; @RequestMapping("insert") public String insertUser(User user){ mongoDBService.insertUser(user); return "success"; } @RequestMapping("findByName") public Object findByName(String name){ return mongoDBService.findByName(name); } }
7、service接口
public interface MongoDBService{
/**
* 插入数据
*/
void insertUser(User user);
/**
* 根据name查信息
*/
Object findByName(String name);
}
8、service实现层
import com.mongo1.entity.User; import com.mongo1.mapper.MongoDBMapper; import com.mongo1.service.MongoDBService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; /** * description service层 * * @author 流星 * @date 2022/4/26 22:08 */ @Slf4j @Service public class MongoDBServiceImpl implements MongoDBService { @Resource private MongoDBMapper mongoDBMapper; @Override public void insertUser(User user) { mongoDBMapper.save(user); } @Override public Object findByName(String name) { return mongoDBMapper.findByName(name); } }



Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。