MyBatis将传入的参数值作为数据库表名称进行查询(#{}、${}区别)

MyBatis将参数值作为数据库表名称进行查询

把数据库同种类型的数据分在了不同的数据库表中,然后想通过同一个接口来选择需要的数据,数据的各字段值是相同的,也就是说映射的Java对象是相同的,因此唯一不同的就是数据库表名称。
在MyBatis中取参数值有以下两种方式:

<select id="getMyNews" resultType="com.example.demo.model.news">
   select * from ${table} where kind=${kind}
</select>
<select id="getMyNews" resultType="com.example.demo.model.news">
   select * from #{table} where kind=#{kind}
</select>
通过#{}来取参数,会自动在获得的参数上加上引号''
通过${}获取的参数就是传入的参数值

因此,在通过参数获取数据库表明的SQL语句中只能使用${}来取参数,而不能使用#{}来取参数。

原创文章 19 获赞 45 访问量 8331

猜你喜欢

转载自blog.csdn.net/wyg1973017714/article/details/105799375