在 MyBatis 中实现动态表名可以通过使用动态 SQL 实现。动态 SQL 是 MyBatis 提供的一种强大的功能,可以根据不同的条件动态生成 SQL 语句。
具体实现步骤如下:
在 Mapper XML 文件中使用动态 SQL 标签<choose>、<when>、<otherwise> 来根据条件选择不同的 SQL 语句。<select id="selectUser" resultType="User" parameterType="map"> SELECT * FROM <choose> <when test="tableName == 'table1'"> table1 </when> <when test="tableName == 'table2'"> table2 </when> <otherwise> default_table </otherwise> </choose> WHERE id = #{id}</select>在 Java 代码中传入动态表名参数,根据条件选择需要查询的表名。Map<String, Object> params = new HashMap<>();params.put("tableName", "table1");params.put("id", 1);User user = sqlSession.selectOne("selectUser", params);通过以上步骤,就可以实现在 MyBatis 中动态传入表名参数,根据条件动态选择不同的表名进行查询操作。




