iBATIS 和 dblink?

iBATIS and dblink?

我正在使用 PostgreSQL,我使用 dblink 功能更新远程数据库上的数据。我的项目使用 iBATIS 来处理数据库。

我需要 运行 带有参数的查询语句,但问题是 db_link 要求 SQL 包含在引号中。而iBATIS看不懂..

我有 iBATIS sql:

    SELECT
    dblink_exec(
      'host=192.168.1.1 port=5432 user=abc dbname=wms password=abc',
      'UPDATE m_user_profile 
        first_name = #4#,
        last_name = #5# ,
        mobile_no = #6#
    WHERE user_id = CAST(#3# AS numeric)'
   );

但是由于sql被引号括起来,iBATIS找不到参数替换。

我有什么解决办法吗?

格式化有帮助吗?像:

SELECT
    dblink_exec(
      'host=192.168.20.60 port=5432 user=clk dbname=clkdb_wms password=clk',
      format('UPDATE m_user_profile 
        first_name = %L,
        last_name = %L ,
        mobile_no = %s
    WHERE user_id = CAST(%s AS numeric)',#4#,#5#,#6#,#3#)
   );