在 MyBatis 中實現動態表名可以通過使用動態 SQL 實現。動態 SQL 是 MyBatis 提供的一種強大的功能,可以根據不同的條件動態生成 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>
Map<String, Object> params = new HashMap<>();
params.put("tableName", "table1");
params.put("id", 1);
User user = sqlSession.selectOne("selectUser", params);
通過以上步驟,就可以實現在 MyBatis 中動態傳入表名參數,根據條件動態選擇不同的表名進行查詢操作。