【问题标题】:how convert mariadb ddl with AES_ENCRYPT to jooq?如何将带有 AES_ENCRYPT 的 mariadb ddl 转换为 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"))

【问题讨论】:

    标签: java mysql mariadb jooq


    【解决方案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
        );
    }
    

    【讨论】:

      猜你喜欢
      • 2012-12-26
      • 2013-11-08
      • 2016-04-11
      • 2023-03-11
      • 1970-01-01
      • 2013-01-27
      • 2021-11-23
      • 2023-01-20
      • 1970-01-01
      相关资源
      最近更新 更多