#{}占位符:占位
如果傳入的是基本類型,那么#{}中的變量名稱可以隨意寫
如果傳入的參數是pojo類型,那么#{}中的變量名稱必須是pojo中的屬性.屬性.屬性…
${}
拼接符:字符串原樣拼接
如果傳入的是基本類型,那么${}
中的變量名必須是value
如果傳入的參數是pojo類型,那么${}
中的變量名稱必須是pojo中的屬性.屬性.屬性…
注意:使用拼接符有可能造成sql注入
<!--
id:sql語句唯一標識
parameterType:指定傳入參數類型
resultType:返回結果集類型
#{}占位符:起到占位作用,如果傳入的是基本類型(string,long,double,int,boolean,float等),那么#{}中的變量名稱可以隨意寫.
#{}:如果傳入的是pojo類型,那么#{}中的變量名稱必須是pojo中對應的屬性.屬性.屬性.....
-->
<select id="findUserById" parameterType="int" resultType="cn.itheima.pojo.User"> select * from user where id=#{id} </select>
<!--
${}拼接符:字符串原樣拼接,如果傳入的參數是基本類型(string,long,double,int,boolean,float等),那么${}中的變量名稱必須是value
${}:如果傳入的參數是pojo類型,那么`${}`中的變量名稱必須是pojo中的屬性.屬性.屬性...
注意:拼接符有sql注入的風險,所以慎重使用
-->
<select id="findUserByUserName" parameterType="string" resultType="user"> select * from user where username like '%${value}%' </select>