如果用$的话那么可以直接在mapper文件中的select语句的中直接用单引号使用直接读取数据因为他会把数据直接放入(编译之前sql已经没有常量了)
select * from user where sex = #{user.sex} and username like '%${user.username}%';
如果要在like中使用#{}那么单引号中的所有数据都应该在变量中包括%%
所以这个时候sql应该写成下面这种情况
select * from user where sex = #{user.sex} and username like #{user.username};
但是如果写成#{}这种情况那么你传入的参数一定要完全包含,比如下面这种情况,就是把上面$的那种情况单引号的所有数据为username中作为传入参数即可
user.setUsername("%刘%");