Spring Boot下利用MongoRepository插入数据

首先,假设与数据库中对应的实体类如下:

/**
 * @author [email protected]
 * @version 1.0
 * @Descrpition 实体类
 * @create 2018/12/10 16:04
 */
@Document(collection = "entity_list")
public class Entity{
    public Entity(){
    this.entityId = "";
    this.entityName = "";
    this.entityType = "";
    this.appId = "";
    }
    @Id
    private String entityId;
    @Field("entity")
    private String entityName;
    @Field("type")
    private String entityType;
    @Field("app_id")
    private String appId;
    //getter and setter
}

然后,需要写一个继承MongoRepository的接口:

public interface EntityRepository extends MongoRepository {
    //根据entityName模糊查找满足条件appId的Entity,
    List findByEntityNameLikeAndAppId(String entityName, String appId);

    Entity findByEntityNameAndAppId(String entityName, String appId);
}

最后,写一个实现Entity的CRUD的类:

/**
 * @author [email protected]
 * @version 1.0
 * @Descrpition 实体增删查改类
 * @create 2019/1/31 9:24
 */
@Service
public class EntityServiceImpl implements EntityService {
    private final EntityRepository entityRepository;

    @Autowired
    public EntityServiceImpl(EntityRepository entityRepository) {
        this.entityRepository = entityRepository;
    }

    /**
     * Description:create实体
     *
     * @param entity 实体对象
     * @return 新增的实体
     * @author [email protected]
     * @Date 2019/1/31 9:40
     */
    @Override
    public Entity createEntity(Entity entity) {
        try {
            ObjectId objectId = new ObjectId();
            Date date = objectId.getDate();
            SimpleDateFormat dateFormat = new SimpleDateFormat(";yyyy-MM-dd HH:mm:ss");
            String formatDate = dateFormat.format(date);
            //生成数据时,需要手动指定时间
            entity.setCreateTime(formatDate);
            entity.setUpdateTime(formatDate);
            return entityRepository.insert(entity);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    /**
     * Description:update实体
     *
     * @param entity 实体对象
     * @return 更新后的实体
     * @author [email protected]
     * @Date 2019/1/31 15:46
     */
    @Override
    public Entity updateEntity(Entity entity) {
        try {
            ObjectId objectId = new ObjectId();
            Date date = objectId.getDate();
            SimpleDateFormat dateFormat = new SimpleDateFormat(";yyyy-MM-dd HH:mm:ss");
            String formatDate = dateFormat.format(date);
            intent.setUpdateTime(formatDate);
            return entityRepository.save(entity);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

你可能感兴趣的:(Java后端,Spring,Boot,MongoRepository,CRUD,ObjectId)