实现本地事务表时,需要在update时返回被修改的行数,但是因为useAffectedRows=false,导致一直都返回匹配的行,事务重复执行。本文解释一下常用的MySQL Jdbc URl常用连接参数
常用属性
参数 | 作用 | 默认值 | 备注 |
---|---|---|---|
useUnicode | 是否使用unicode | true | mysql8没有这个属性了 |
characterEncoding | 设置字符集 | 无 | |
zeroDateTimeBehavior | datetime的字段值全部为0时的处理方式 | EXCEPTION | 一般都会设置为convertToNull |
tinyInt1isBit | tinyint(1)转换为boolean类型 | true | |
serverTimezone/connectionTimeZone | 设置时区 | 无 | Connector/J 8.0.23之后serverTimezone就是connectionTimeZone的别名 |
useAffectedRows | 更新或删除的时候返回被修改的行,否则就是返回匹配到的行 | false | 一般还是建议设置为true |
常用中文设置
代码语言:javascript复制useAffectedRows=true&useUnicode=true&characterEncoding=utf-8&useSSL=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&serverTimezone=GMT+8
参考
- MySQL: Configuration Properties