MyBatis并不直接支持动态表名,但可以通过使用动态SQL来实现动态表名的功能。可以通过使用if、choose、foreach等标签来编写动态SQL语句,根据不同条件来拼接不同的表名。示例代码如下:
<select id="selectUserById" resultType="User">
SELECT * FROM
<if test="tableName == 'user1'">
user1
</if>
<if test="tableName == 'user2'">
user2
</if>
WHERE id = #{id}
</select>
在执行查询时,可以通过传入不同的tableName参数来动态选择不同的表名。需要注意的是,在使用动态表名时需要防止SQL注入攻击,可以通过对传入的参数进行检查和过滤来加强安全性。