在查询用户的联系人时,我想使用一个特定于该用户的临时表,例如tmp_contact{userId},如果userId是123,则应该解析为tmp_contact
我继承了一个java项目,它使用iBatis与MySql数据库进行互操作。
我已经阅读了一些iBatis文档,并且在xml中看到了可替换的参数,可以是{userId}或{userId}。前者似乎被解释为准备好的语句的参数,并产生一个问号,例如“create temporary table tmp_contact?”,而后者保留为文本,例如“create temporary table tmp_contact}u35; userId}”。
是否有生成“create temporary table tmp_contact_123”的替代语法?

最佳答案

是的,这是有办法的!
使用#在字符串参数周围加引号。您可以改用$。以你为例

create temporary table tmp_contact_$userId$

当iBatis编译此语句时
create temporary table tmp_contact_123

而不是
create temporary table tmp_contact_'123'

关于java - 我可以使用iBatis创建动态临时表吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27846995/

10-11 01:36