dao层实体:
User user = new User();
user.setName("小明");
mapper文件sql语句:
1、使用#{}示例:
SELECT * FROM user WHERE name=#{name};
编译后的sql为:SELECT * FROM user WHERE name='小明';
2、使用${}示例:
SELECT * FROM user WHERE name=${name};
编译后的sql为:SELECT * FROM user WHERE name=小明;
总结:#{} 会对传过来的参数做 加引号处理,一般用于 values获取值。
${} 不会对传过来的参数做处理,一般用于表名的分表标识。
综合案例:
user.setName("小明");
user.setDepNo("001");
SELECT * FROM user_${depNo} WHERE name=#{name,jdbcType=VARCHAR};
编译后sql: SELECT * FROM user_001 WHERE name="小明";