TDengine使用踩坑,TDengine ERROR: invalid data or symbol

TDengine使用踩坑,TDengine ERROR: invalid data or symbol

环境

  • Ubuntu18.04
  • springboot 2.5.3
  • mybatis-plus 3.4.2
  • TDengine 3.1.0.3

错误情况

今天在后台项目中使用mybatis-plus框架插入数据到TDengine出现错误。

出现如下错误: JavaString类型无法被识别。

但是使用Tdengine终端可以正常插入

\n### Error updating database.  Cause: java.sql.SQLException: TDengine ERROR (0x80000216): syntax error near 'test)' (invalid data or symbol)
\n### The error may exist in com/czl/chaoyi/console/backend/core/socket/dao/ScrewSocketMapper.java (best guess)
\n### The error may involve com.czl.chaoyi.console.backend.core.socket.dao.ScrewSocketMapper.insertData-Inline\n### The error occurred while setting parameters
\n### SQL: insert into ? values(now(),?,?,?,?,?,?,?,?,?)\n### Cause: java.sql.SQLException: TDengine ERROR (0x80000216): syntax error near 'test)' (invalid data or symbol)

数据的实体类

public class ScrewSocket {

    @TableField(value = "ts")
    private Timestamp ts;

    @TableField(value = "machine_id")
    private Integer machineId;

    @TableField(value = "run_mode")
    private Integer runMode;

    @TableField(value = "run_status")
    private Integer runStatus;

    @TableField(value = "warning_status")
    private Integer warningStatus;

    @TableField(value = "speed")
    private Integer speed;

    @TableField(value = "interval_quantity")
    private Integer intervalQuantity;

    @TableField(value = "all_quantity")
    private Integer allQuantity;

    @TableField(value = "finished_quantity")
    private Integer finishedQuantity;

    @TableField(value = "work_order")
    private String workOrder;
}

插入函数

    @Insert("insert into #{table} values(" +
            "now()," +
            "#{machineId}," +
            "#{runMode}," +
            "#{runStatus}," +
            "#{warningStatus}," +
            "#{speed}," +
            "#{intervalQuantity}," +
            "#{allQuantity}," +
            "#{finishedQuantity}," +
            "#{workOrder})")
    Boolean insertData(@Param("table") String machineTable,
                       @Param("machineId") Integer machineId,
                       @Param("runMode") Integer runMode,
                       @Param("runStatus") Integer runStatus,
                       @Param("warningStatus") Integer warningStatus,
                       @Param("speed") Integer speed,
                       @Param("intervalQuantity") Integer intervalQuantity,
                       @Param("allQuantity") Integer allQuantity,
                       @Param("finishedQuantity") Integer finishedQuantity, 
                       @Param("workOrder") String workOrder);

解决

在后台项目中使用mybatis-plus框架,插入Java String类型到TDengine数据库时,数据需要额外加上""才能正常插入。

    private String preprocessWorkOrder(String workOrder) {
        return ObjectUtils.isEmpty(workOrder) ? null : "\"" + workOrder + "\"";
    }
  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当出现"Error: Invalid or corrupt jarfile"的错误提示时,通常是由于jar文件损坏或者缺少必要的配置所导致的。根据引用和引用的信息,我们可以解决这个问题的方法是检查META-INF/MANIFEST.MF文件中是否缺少了Main-Class属性配置项。这个配置项指定了jar命令运行方式的程序入口类。如果缺少这个配置项,么程序无法正确运行。 所以解决这个问题的方法是确保在META-INF/MANIFEST.MF文件中正确配置了Main-Class属性。可以通过以下步骤进行操作: 1. 打开jar文件并解压缩它,找到META-INF文件夹。 2. 在META-INF文件夹中找到MANIFEST.MF文件并打开它。 3. 确保在MANIFEST.MF文件中存在Main-Class属性,并且它的值指定了程序的入口类。 4. 保存MANIFEST.MF文件并重新压缩jar文件。 5. 运行修复后的jar文件,应该不再出现"Error: Invalid or corrupt jarfile"的错误提示。 通过以上步骤,您应该能够解决"Error: Invalid or corrupt jarfile"的问题并成功运行jar文件。如果问题仍然存在,可以尝试重新生成jar文件或者查看其他相关错误的解决方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [[转]ErrorInvalid or corrupt jarfile xxx.jar关于使用 IDEA 打成jar包出错以及打包的正确姿势](https://blog.csdn.net/mao_mao37/article/details/127866388)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [jar包双击没反应,命令行中jar命令运行报错"找不到或无法加载主类 ",... Invalid or corrup jarfile **.jar。](https://blog.csdn.net/ejiao1233/article/details/88822441)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值