我正在与mybatis一起进行spring网络项目。我有很多拆分表,例如user_10,user_11,user_12

在mapper.xml中,我有

   <sql id="TableNameBase">user_</sql>

   <insert id="insert">
     INSERT INTO <include refid="TableNameBase">#{id}
     ...


例如,如果我想做这样的事情:

     insert into user_10 ...


我可以通过id = 10
但上述<include refid="TableNameBase">#{id}似乎会产生user_ 10而不是预期的user_10

我能做什么?

最佳答案

似乎标签在前后添加了空格。
您可以做的是定义一个参数表名称,如下所示:

<sql id="user_table">
  user_#{id}
</sql>


然后,您可以通过传递参数来使用它,如以下示例所示:

<insert id="insert">
     INSERT INTO <include refid="user_table"/>
     ...

10-07 13:11
查看更多