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语句中只能使用${}来取参数,而不能使用#{}来取参数。