遇到一个需要在一个sql语句中实现动态表名和动态属性的情境,在多张相似表中查询不同name的信息,由于我使用的是Mybatis,所以我需要在mapper文件中实现动态表名和动态查询。经过上网查找,了解了${},#{}的原理和使用情境。但是,我在尝试中发现这两个不能再同一句sql语句中,所以需要舍弃其中一个。
<select id="selectAllByText" parameterType="com.*.*.domain.*" resultType="java.util.HashMap" statementType="STATEMENT">
SELECT *FROM ${table_name} WHERE name = '${name}'
</select>
由于${}中是直接带入具体的值,而#{}则是带入变量,所以只要在属性值中用‘’,使得sql语句符合语法,就可以实现。
这篇博客探讨了在Mybatis中如何处理动态表名和属性查询的挑战。作者遇到了需要在多张相似表中根据name查询信息的情况。了解到${}
4099

被折叠的 条评论
为什么被折叠?



