我正在与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"/>
...