Skip to content
广告❤️成为赞助商

无实体类情况

无实体类情况

考虑到如果结构太复杂,没有实体类的情况该怎么办呢,使用:
MongoPlusMapMapperBaseMapper

  • 操作和继承Service一模一样
  • 只需简单的注入MongoPlusMapMapperBaseMapper即可使用
  • 返回Map结构

现有一个 User 集合,其结构如下:

idnameageemail
1Jone18test1@baomidou.com
2Jack20test2@baomidou.com
3Tom28test3@baomidou.com
4Sandy21test4@baomidou.com
5Billie24test5@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-starterspring-boot-starter-testmongo-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 的强大功能?那就继续往下看吧!