springboot测试环境中为什么会将mongodb的数据自动存储到test表中

今天学习进入到mongodb使用springdata支持进行简单的增删改查部分,在使用springboot进行测试的时候,有一个很神奇的问题,在程序中存入数据,但在mongodb中我指定的数据库中却找不到数据,在mongodb指定的数据库中存入数据,在程序中也查不到。但很神奇的是,在程序中能够正常存取,还不会报错。感觉简直郁闷到吐血的程度。代码如下:
springboot中的配置文件:

spring.data.mongodb.host=127.0.0.1
spring.data.mongo.repositories.enabled=true
spring.data.mongodb.port=27017
spring.data.mongodb.uri=mongodb\://127.0.0.1\:27017/permission #指定的数据库:permission

创建一个简单的实体:

package com.permission.bean.companyInfo;

import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

/**
 * Created by niuniu on 2017/4/17.
 * 公司表
 */
@Document//mongodb数据模型的标识
public class Company {

    @Id
    private String id; //公司ID

    private String name; //名称

    private String user; //创建人

    private String createTime; //创建时间

    private String address; //公司地址

    public Company() {
    }

    public Company(String id, String name, String user, String createTime, String address) {
        this.id = id;
        this.name = name;
        this.user = user;
        this.createTime = createTime;
        this.address = address;
    }

    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 String getUser() {
        return user;
    }

    public void setUser(String user) {
        this.user = user;
    }

    public String getCreateTime() {
        return createTime;
    }

    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Override
    public String toString() {
        return "Company{" +
                "id='" + id + '\'' +
                ", name='" + name + '\'' +
                ", user='" + user + '\'' +
                ", createTime='" + createTime + '\'' +
                ", address='" + address + '\'' +
                '}';
    }
}

创建一个springdata的处理接口:

package com.permission.repository;

import com.permission.bean.companyInfo.Company;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository;

/**
 * Created by niuniu on 2017/4/17.
 */
@Repository
public interface CompanyRepository extends MongoRepository<Company,String>{
}

创建一个service:

package com.permission.service;

import com.permission.bean.companyInfo.Company;
import com.permission.repository.CompanyRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * Created by niuniu on 2017/4/17.
 */
@Service
public class CompanyService {

    @Autowired
    private CompanyRepository companyRepository;

    public Company createCompany(Company company){
        return companyRepository.save(company);
    }

    public Company findCompany(String id){
        Company c = companyRepository.findOne(id);
        return c;
    }

    public Company updateCompany(Company company){
        Company c = companyRepository.findOne(company.getId());
        c.setUser(company.getUser());
        return companyRepository.save(c);
    }
}

根据这个service编写简单的测试类:

package com.permission.service;

import com.permission.MypermissionApplication;
import com.permission.bean.companyInfo.Company;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import static org.junit.Assert.*;

/**
 * Created by niuniu on 2017/4/17.
 */

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = MypermissionApplication.class)
public class CompanyServiceTest {

    @Autowired
    private CompanyService companyService;

    @Test
    public void createCompany(){
        Company company = new Company("162","niuiufei","整天准备干啥","1323","gansha000");
        Company company1 = companyService.createCompany(company);
        System.out.println(company1.toString());
    }
}

执行,神奇的事情就发生了。
没有报错
然后到数据库中查询:竟然没有查到相应的数据
查了很多资料,纠结了很久,数据竟然神奇的消失了。但我找呀找,终于在test数据库中找到了我在程序中加入的数据。终于找到数据跑到哪里了
所以针对这个springboot测试中数据会自己添加到test库中的原理是什么就不太清楚了?会进一步研究,但希望对这个有研究的能够给出答案,在此多谢各位了。

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
爬取网站并将数据存储MongoDB是一种常见的数据采集和存储方式。在进行这个过程之前,我们需要明确以下几个步骤: 1. 确定需要爬取的网站:首先需要确定目标网站的URL和需要采集的数据内容。这可以包括新闻、产品信息、用户评论等不同类型的数据。 2. 选择合适的爬虫工具:根据目标网站的特点和数据采集需求,选择合适的爬虫工具。常见的爬虫工具包括Scrapy、BeautifulSoup等。 3. 编写爬取代码:根据选择的爬虫工具,编写相应的爬取代码。这可以包括设置网页请求头、定义爬取规则、提取需要的数据等。 4. 建立MongoDB数据库连接:在代码建立与MongoDB数据库的连接。需要提供数据库的IP地址、端口号、用户名和密码等相关信息。 5. 存储数据MongoDB:在代码将爬取到的数据存储MongoDB数据。可以使用Python的pymongo库来实现与MongoDB的交互,将数据以适当的格式存储到指定的集合。 6. 数据清洗和处理:爬取到的数据可能需要进行清洗和处理,以适应后续的数据分析和应用需求。这可以包括去除重复数据、格式化日期和数字等操作。 7. 定期更新爬取:如果需要保持数据的实时性,可以设置定时任务来定期运行爬虫,获取最新的数据存储MongoDB。 总结起来,爬取网站并将数据存储MongoDB是一种常见的数据采集和存储方式。通过选择合适的爬虫工具、编写爬取代码、建立数据库连接以及存储数据等步骤,我们可以有效地实现这一过程。同时,需要注意数据清洗和定期更新的步骤,以保持数据的质量和实时性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值