当前位置: 首页 > 知识库问答 >
问题:

如果mybatis中的输入为空,如何使null must出错?

方飞白
2023-03-14

我试图插入空数据,它必须出错,但它仍然在保存。如果为空,我尝试try/cath和if语句仍然不起作用。有人能建议如何做吗?

此图像中的输出RPCbloom

这个项目是带有GRPC和MyBatis的Spring Boot。

package com.cartservice.Repository;

import java.util.List;

import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Options;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import com.cartservice.Model.Client;
import com.cartservice.Model.ProductEntity;
import com.grpcserver.product.ProductServer.Product;

@Mapper
public interface ProductDAO {
    
    
    @Insert("INSERT INTO tb_product(purchase_item,  productname, productbrand,productprice,productdescription,productquantity,productexpirationdate) " +
              " VALUES (#{purchase_item}, #{productname}, #{productbrand}, #{productprice}, #{productdescription}, #{productquantity}, #{productexpirationdate} )")
@Options(useGeneratedKeys = true, keyColumn = "purchase_item", keyProperty = "purchase_item")
    public int insert(ProductEntity  productEntity);
    
    
    
     
}

    @Override
    public void insert(Product request, StreamObserver<APIResponse> responseObserver) {

    
    ProductEntity productEntity = new ProductEntity();

    
    productEntity.setPurchase_item(request.getPurchaseItem());
    productEntity.setProductname(request.getProductname());
    productEntity.setProductbrand(request.getProductbrand());
    productEntity.setProductprice(request.getProductprice());
    productEntity.setProductdescription(request.getProductdescription());
    productEntity.setProductquantity(request.getProductquantity());
    productEntity.setProductexpirationdate(dateConvert.getDateFromDateProto(request.getProductexpirationdate()));


    productServiceImpl.saveDataFromDTO(productEntity);
    APIResponse.Builder  responce = APIResponse.newBuilder();
    responce.setResponseCode(0).setResponsemessage("Succefull added to database " +productEntity);
    
    responseObserver.onNext(responce.build());
    responseObserver.onCompleted(); 
        
    
    
        
    }

共有1个答案

方飞鸣
2023-03-14

修复我使用GRPC“hasField”

有关在protobuffers中处理空值的更多信息

 类似资料:
  • 我试图清除一个输入的值取决于它是否找到一个id如果它找到一个现有的id js更新的值的输入但如果它不保持最后一个找到但我需要有明确的值,有人能告诉我怎么了吗:

  • 问题内容: 我有带输入字段的HTML表单。一些输入可以为空,即值为“”。 刚才,未设置字段时,它显示在提交网址中,如下所示: 我如何从提交URL中删除空的输入,因此当输入为空时,将根本不会传递该输入。 非常感谢你。 更新资料 感谢 minitech的 回答,我可以解决它。JavaScript代码如下: 我为字段名加上“ empty_”前缀的唯一原因是IE无论如何都会在URL中传递空名称。 问题答案

  • 问题内容: 我是React JavaScript的新手。我试图在输入字段为空时禁用按钮。React的最佳方法是什么? 我正在执行以下操作: 这样对吗? 这不仅仅是动态属性的复制,因为我也很好奇要从一个元素到另一个元素传输/检查数据。 问题答案: 您需要将输入的当前值保持在状态中(或通过回调函数或sideways或 _< 此处是您应用的状态管理解决方案>_将其值更改传递给父级,以便最终将其传递回您的

  • 问题内容: 我看到这是如何加入的String []答案逗号分隔字符串。 但是, 仅 当值不为空时,我才需要util将字符串加入数组中。 最好的方法是什么?无需在String []上循环之前删除。我更喜欢两种方法都可以。 已编辑 例如: 将会: 问题答案: PS:很抱歉使用??接线员-我必须快点做,我在工作。:)

  • 我希望scanf读取一些数据并将其存储到多个变量中。但是,如果第一个变量,即数量为0,则scanf需要退出请求用户输入,因为我的后续while循环取决于该值,即数量。如果该值不为零,则继续循环并执行进一步的操作,否则不执行。 样品输入1: 21,1,1.5,1,马铃薯 样本输入2:0 此处,在示例输入2之后,如果输入0并按enter键,scanf仍在等待用户的输入。在输入0和enter键后,如何退