sharding-jdbc

on duplicate key update 问题

  • 版本: 在 sharding-jdbc4.1.0
  • 问题: image.png

    • 该方法报错

      1. ![image.png](https://cdn.nlark.com/yuque/0/2020/png/367873/1597645264935-e292ea4c-3583-40c8-9ccc-b063d99ea6d0.png#align=left&display=inline&height=30&margin=%5Bobject%20Object%5D&name=image.png&originHeight=62&originWidth=1250&size=18592&status=done&style=none&width=597)
  • 查找: https://github.com/apache/shardingsphere/issues/1066

  • 解决: 上面连接有说,支持
    1. insert into table (name, version) values (?, ?)
    2. on duplicate key update version = version + 1
    1. insert into table (name) values (?), (?)
    2. on duplicate key update version = values(name)
    这两种方式,所以将上面的代码修正为
    image.png

返回 [null, null]

  • 使用了 select * ,修改为指定字段即可

on duplicate key update 返回值

  1. 如果是 on duplicate key update col_name = xxx ,那么在新建、更新、无更新时候会返回 1, 2,0
  2. 如果是 on duplicate key update version = values(col_name) ,那么在 新建、更新、无更新时候会返回 1, 1,0

java.lang.NoSuchMethodError

  • 如果后面带着一个重载方式的方法,极有可能是因为有多个不同版本的依赖存在

**


Could not read JSON: Unrecognized field “sendingNum” (class com.hpw.model.bean.GiftGiving), not marked as ignorable

  • 实体类有非属性的 getXXX() 方法, jackson 序列化的时候,会将 XXX 当成实体类的属性, 后续反序列化会报错, 所以要在 getXXX() 方法上加注解 @JsonIgnore