赞
踩
参数 | 说明 | 缺省值 |
---|---|---|
useUnicode | 是否使用Unicode字符集 | false |
characterEncoding | 指定字符编码,可设置为gbk、utf8、、、 | false |
serverTimezone | 设置时区,北京时间东八区(GMT%2B8)、上海时间(Asia/Shanghai) | - |
useSSL | 是否进行SSL连接 | false |
rewriteBatchedStatements | 是否开启批量处理功能 | false |
autoReconnect | 是否使用针对数据库连接池的重连策略 | false |
-- MySQL在高版本需要指明是否进行SSL连接
-- 目的是保障数据传输的安全
-- 需要在url后面添加useSSL参数
-- 否则在运行时控制台会出现红色警告
useSSL=true 连接
useSSL=false 不连接
使用MySQL8时可能会出现时差问题
例:
向数据库中添加的时间是:"2021-10-02 10:00:00"
然而数据库中显示的时间却少了8个小时,显示为:"2021-10-02 02:00:00"
根本原因是时区设置的问题
-- UTC代表的是全球标准时间
-- 但是我们使用的时间是北京时区也就是东八区,领先UTC八个小时
-- UTC + 8 = 北京时间
解决方案:修改url的时区
serverTimezone=GMT%2B8 北京时间东八区
serverTimezone=Asia/Shanghai 上海时间
serverTimezone=UTC UTC时间,注意,区分大小写,一定是大写,不可以是小写的
实现高性能的批量插入
需要在MySQL的JDBC连接的URL中添加rewriteBatchedStatements参数
并且保证5.1.13以上版本的驱动
MySQL JDBC驱动在默认情况下会无视executeBatch()语句
把我们期望批量执行的一组sql语句拆散
一条一条地发给MySQL数据库
此时的批量插入实际上是单条插入,直接造成较低的性能
只有把rewriteBatchedStatements参数置为true
驱动才会帮你批量执行SQL
另外这个选项对INSERT/UPDATE/DELETE都有效
JDBC程序与服务器端的字符集不一致,会导致乱码,可以通过参数指定服务器端的字符集
设置字符集时,需要设置如下参数
-- useUnicode=true 开启字符集的设置
-- characterEncoding=utf8 设置字符集为utf8
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。