Mybatis:如何在mapper.xml中使用String连接<include refid =“”>?

时间:2017-10-10 06:13:42

标签: java spring mybatis

我正在使用mybatis开发一个spring web项目。我有很多分组表,如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

我该怎么办?

1 个答案:

答案 0 :(得分:0)

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

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

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

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