like concat 兼容h2、mysql、pgsql语法

2024-01-07 08:56:13 浏览数 (1)

推动你的事业,不要让你的事业推动你。——爱因斯坦

今天解决

https://github.com/apache/incubator-streampark/issues/3451

时候发现从'%${variable.variableCode}%'改为concat ('%', #{variable.variableCode}, '%')

解决的sql注入问题与postgresql不兼容

于是加了一个CAST解决

https://github.com/apache/incubator-streampark/pull/3457

concat('%', CAST(#{variable.variableCode} AS CHAR), '%')

这样就兼容了h2mysqlpgsql

这里测试时候首先本地运行h2跑一下,然后用docker启动一个mysql跑一下:

代码语言:javascript复制
docker run --name streampark-mysql -e MYSQL_ROOT_PASSWORD=streampark -e MYSQL_DATABASE=streampark -p 3306:3306 -d mysql

运行sql脚本ddl

修改相关配置文件:

代码语言:javascript复制
spring:
  profiles:
    active: mysql #[h2,pgsql,mysql]

测试通过

然后是postgresql

代码语言:javascript复制
docker run --name streampark-postgres -e POSTGRES_PASSWORD=streampark -e POSTGRES_DB=streampark -d -p 5432:5432 postgres

运行sql脚本ddl

配置文件修改为pgsql

代码语言:javascript复制
spring:
  profiles:
    active: pgsql #[h2,pgsql,mysql]

测试通过

0 人点赞