clickhouse历史订单记录
    create table history_order(
    history_order_id String comment ‘历史订单ID’,
    seller_id String comment ‘卖家ID’,
    seller_name String comment ‘卖家名称’,
    buyer_id String comment ‘卖家ID’,
    buyer_name String comment ‘卖家名称’,
    crt_time UInt64 comment ‘创建时间’
    )
    engine MergeTree()
    primary key history_order_id
    partition by toYYYYMMDD(FROM_UNIXTIME(crt_time)) order by(history_order_id,crt_time)
    settings index_granularity=8192;

    多数据源配置,@Primary默认优先选择Master主数据源

    1. 正则表达式,在线转义链接:https://www.sojson.com/yasuo.html
      答: 15位身份证:^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{2}[0-9Xx]$(java字符串使用需转义)
      18位身份证:^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}[0-9Xx]$(java字符串使用需转义)
      手机:^[1][0-9]{10}$
      密码,不含中文和空格:^[a-zA-Z\d~!@#\$%\^&*()_-+={[}]|\:;\”\’\<,>.\?\/]+$(java字符串使用需转义)

    2.防止页面按钮重复提交
    答:方法类似加锁。部分代码:
    var isCommitted = false;//表单是否已经提交标识,默认为false
    if(isCommitted==false){ isCommitted = true;//提交表单后,将表单是否已经提交标识设置为true
    //ajax
    }

    3.mybastis ${} 不会预编译,原样输出 #{} 预编译SQL

    4.MYSQL 数据去重两方法:①使用distinct②使用group by