无实体类情况
无实体类情况
考虑到如果结构太复杂,没有实体类的情况该怎么办呢,使用:
MongoPlusMapMapperBaseMapper
- 操作和继承Service一模一样
- 只需简单的注入
MongoPlusMapMapperBaseMapper
即可使用 - 返回Map结构
现有一个 User
集合,其结构如下:
id | name | age | |
---|---|---|---|
1 | Jone | 18 | test1@baomidou.com |
2 | Jack | 20 | test2@baomidou.com |
3 | Tom | 28 | test3@baomidou.com |
4 | Sandy | 21 | test4@baomidou.com |
5 | Billie | 24 | test5@baomidou.com |
Question
如果用 MongoPlusOperate 来实现该表的增删改查我们需要做什么呢?
初始化工程
创建一个空的 Spring Boot 工程
TIP
可以使用 Spring Initializer 快速初始化一个 Spring Boot 工程
添加依赖
引入 Spring Boot Starter 父工程:
xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6+ 版本</version>
<relativePath/>
</parent>
引入 spring-boot-starter
、spring-boot-starter-test
、mongo-plus-boot-starte
依赖:
xml
<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>com.gitee.anwena</groupId>
<artifactId>mongo-plus-boot-starter</artifactId>
<version>最新版本</version>
</dependency>
</dependencies>
配置
在 application.yml
配置文件中添加 MongoPlus 相关配置:
yaml
# DataSource Config
mongo-plus:
data:
mongodb:
host: 127.0.0.1 #ip
port: 27017 #端口
database: test #数据库名
username: test #用户名,没有可不填
password: test #密码,同上
authenticationDatabase: admin #验证数据库
connectTimeoutMS: 50000 #在超时之前等待连接打开的最长时间(以毫秒为单位)
编码
添加测试类,进行功能测试:
java
@SpringBootTest
public class SampleTest {
@Autowired
//private MongoPlusMapMapper mongoPlusMapMapper;
private BaseMapper baseMapper;
@Test
public void testSelect() {
System.out.println(("----- selectAll method test ------"));
// List<Map<String,Object>> userList = mongoPlusMapMapper.list("user");
List<Map<String, Object>> userList = baseMapper.list("asd", new TypeReference<Map<String, Object>>() {});
userList.forEach(System.out::println);
}
}
控制台输出:
log
User(id=1, name=Jone, age=18, email=test1@baomidou.com)
User(id=2, name=Jack, age=20, email=test2@baomidou.com)
User(id=3, name=Tom, age=28, email=test3@baomidou.com)
User(id=4, name=Sandy, age=21, email=test4@baomidou.com)
User(id=5, name=Billie, age=24, email=test5@baomidou.com)
TIP
完整的代码示例请移步:Spring Boot 示例
小结
通过以上几个简单的步骤,我们就实现了 User 表的 CRUD 功能!
从以上步骤中,我们可以看到集成Mongo-Plus
非常的简单,只需要引入 starter 工程即可。
但 Mongo-Plus 的强大远不止这些功能,想要详细了解 Mongo-Plus 的强大功能?那就继续往下看吧!