如何在 myBatis 3 xml 映射器中注入 pl/pgsql

how to inject pl/pgsql in myBatis 3 xml mapper

我正在使用 MyBatis 3.3.0 和 Postgresql 12。我想在我的 xml 映射器

中注入一些 pl/pgsql

例如:使用for循环插入数据

 <update id="generateNumbers" parameterType="tn.tt.nbms.dto.RangeDTO" statementType="CALLABLE">


<![CDATA[ 
   declare 
     ..... 
   begin 
      for number in ...... 
             insert into.....(....) values (...) 
      end loop; 
   end; ]]> 
</update>

使用 oracle 和 Pl/sql 它工作正常 但我无法将其转换为 pl/pgsql 我该怎么做 我知道我可以使用存储过程,但我的问题是如何在 xml 映射器文件中注入 pl/pgsql 如果可能的话?

经过一些研究,我发现对于 poqgresql(与 oracle 不同)我们不能将参数设置为匿名代码块

所以我们可以使用批处理操作

[1] https://github.com/mybatis/mybatis-3/wiki/FAQ#how-do-i-code-a-batch-insert [2]

或存储过程

我希望这会对某些人有所帮助....