mybatis中#{}和${}的区别于用法

区别:

#{},用于传递参数,相当于一个占位符,可以防止sql注入,安全;

${},用于sql的拼接,常用语group by,order by等不能使用占位符的语句中;

用法:

#{}

  1. "condition.userId != null and condition.userId != ''">   
  2.     AND user_id = #{condition.userId  ,jdbcType=VARCHAR}  
  3.  

${}

  1. "get" parameterType="java.util.Map" resultMap="test">  
  2.   SELECT  
  3.     "sql_column_list" />  
  4.   FROM test  
  5.   "WHERE" prefixOverrides="AND">  
  6.     "sql_condition" />  
  7.       
  8.   "orderBy != null">  
  9.     ORDER BY ${orderBy}  
  10.      
  11.   LIMIT 1  
  12.  





你可能感兴趣的:(java,数据库)