java - Mybatis:如何将<include refid/>与mapper.xml中的String连接?

标签 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

我能做什么?

最佳答案

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

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

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

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

关于java - Mybatis:如何将<include refid/>与mapper.xml中的String连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46659726/

相关文章:

java - Kafka 流聚合抛出异常

java - 如何修复 org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping 中未找到类的异常?

java - 是否可以创建一个 int 名称变量数组

java - MyBatis 加载 XML : java. io.IOException: Could not find resource (eclipse)

java - 如何从一行中的几个双引号中获取字符串?

Java Spring Thymeleaf如何在容器外部使用变量

java - Spring 时区问题中的 DateTimeFormat 注释

java - 配置 Hazelcast CPSubsystem 重试超时

java - 动态数据源路由 - 数据源路由器未初始化

java - Mybatis 查询插入 java 对象列表失败