方便更快捷的说明问题,可以按需填写(可删除)
使用环境:
jdk 1.8
shardingsphere 5.0.0
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.3.0
场景、问题:
按时间分片,配置信息如下:
spring:
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
shardingsphere:
datasource:
ds:
driver-class-name: com.mysql.jdbc.Driver
jdbc-url: jdbc:mysql://10.123.35.175:3306/alarm-manage?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=UTF-8
type: com.zaxxer.hikari.HikariDataSource
username: root
password: tce@guangqi2019
names: ds
props:
sql-show: true
mode:
type: Memory
rules:
sharding:
binding-tables: vehicle_alarm_info,vehicle_earlyalarm_info
sharding-algorithms:
vehicle-alarm-info-interval:
type: INTERVAL
props:
datetime-pattern: yyyy-MM-dd HH:mm:ss
datetime-lower: 2021-01-01 00:00:00
datetime-upper: 2022-01-01 00:00:00
sharding-suffix-pattern: yyyy_MM
datetime-interval-amount: 1
datetime-interval-unit: MONTHS
vehicle-earlyalarm-info-interval:
type: INTERVAL
props:
datetime-pattern: yyyy-MM-dd HH:mm:ss
datetime-lower: 2021-01-01 00:00:00
datetime-upper: 2022-01-01 00:00:00
sharding-suffix-pattern: yyyy_MM
datetime-interval-amount: 1
datetime-interval-unit: MONTHS
tables:
vehicle_alarm_info:
actual-data-nodes: ds.vehicle_alarm_info_$->{2021…2022}$->{[‘01’,‘02’,‘03’,‘04’,‘05’,‘06’,‘07’,‘08’,‘09’,‘10’,‘11’,‘12’]}
key-generate-strategy:
column: id
key-generator-name: SNOWFLAKE
table-strategy:
standard:
sharding-algorithm-name: vehicle-alarm-info-interval
sharding-column: create_time
vehicle_earlyalarm_info:
actual-data-nodes: ds.vehicle_earlyalarm_info$->{2021…2022}_$->{[‘01’,‘02’,‘03’,‘04’,‘05’,‘06’,‘07’,‘08’,‘09’,‘10’,‘11’,‘12’]}
key-generate-strategy:
column: id
key-generator-name: SNOWFLAKE
table-strategy:
standard:
sharding-algorithm-name: vehicle-earlyalarm-info-interval
sharding-column: create_time
key-generators:
snowflake:
props:
worker-id: 123
type: SNOWFLAKE
已进行操作:
执行插入操作:
VehicleAlarmInfoPo info = new VehicleAlarmInfoPo();
info.setId(1L);
info.setVin(“123”);
info.setVehicleType(“A12”);
info.setVehicleTypeName(“1231”);
info.setDataType(“1”);
info.setCreateTime(new Date());
info.setAlarmCode(“200221”);
info.setDealStatue(“1”);
info.setDisable(“1”);
vehicleAlarmInfoMapper.insert(info);
现状:
提示异常 信息
The error occurred while setting parameters
SQL: insert into vehicle_alarm_info (id, data_type, alarm_code, vin, vehicle_type, vehicle_type_name, alarm_start_time, alarm_end_time, alarm_part_time, alarm_count, alarm_level, alarm_flag, alarm_name, longitude, latitude, city, area, street, alarm_address, deal_statue, fault_description, deal_level, deal_advise, current_depart_id, work_order_id, vehicle_status, vehicle_status_name, user_type, user_type_name, battery_type, battery_remark, rule_id, create_time, signal_cycle, auto_gen_order, alarm_join_time, is_alarm_end, disable, is_need_alram, remark, start_mileage, end_mileage ) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )
Cause: java.sql.SQLException: [org.apache.shardingsphere.driver.jdbc.core.connection.ShardingSphereConnection] cannot be unwrapped as [com.mysql.jdbc.MySQLConnection]
; uncategorized SQLException; SQL state [null]; error code [0]; [org.apache.shardingsphere.driver.jdbc.core.connection.ShardingSphereConnection] cannot be unwrapped as [com.mysql.jdbc.MySQLConnection]; nested exception is java.sql.SQLException: [org.apache.shardingsphere.driver.jdbc.core.connection.ShardingSphereConnection] cannot be unwrapped as [com.mysql.jdbc.MySQLConnection]