如何将带有 AES_ENCRYPT 的 mariadb ddl 转换为 jooq?
Posted
技术标签:
【中文标题】如何将带有 AES_ENCRYPT 的 mariadb ddl 转换为 jooq?【英文标题】:how convert mariadb ddl with AES_ENCRYPT to jooq? 【发布时间】:2021-11-05 01:28:08 【问题描述】:rwDsl.insertInto(table)
.columns(
table.TITLE,
table.DESCRIPTION
)
.values(
aesEncrypt(
x.getTitle(),
sha1(concat("", Long.toString(created)).toString())
),
aesEncrypt(x.getDescription(), concat("", Long.toString(created)).toString()).toString().getBytes())
不工作...
我想要这个 ddl 转换 jooq
insert into table(title, description)
values (AES_ENCRYPT("title_test", "11111"),AES_ENCRYPT("description_test", "11111"))
【问题讨论】:
【参考方案1】:当 jOOQ 不支持某些供应商特定功能时,请始终使用plain SQL templating:
public static Field<String> aesEncrypt(
Field<String> string,
Field<String> keyString
)
return DSL.field("aes_encrypt(0, 1)",
string.getDataType(),
string,
keyString
);
【讨论】:
以上是关于如何将带有 AES_ENCRYPT 的 mariadb ddl 转换为 jooq?的主要内容,如果未能解决你的问题,请参考以下文章
MYSQL SELECT WHERE LIKE WITH AES_ENCRYPT
如何将安装在主机服务器上的 phpmyadmin 连接到正在运行的 docker 容器内的 maria db? [关闭]
如何使用 AES_ENCRYPT 和 PDO 准备语句改进大型加密数据库的 PHP 解决方法?