输入参数
輸入參數:parameterType
#{} ${}區別:
1. 類型為簡單類型(8個基本類型+String)
#{任意值}
${value},其中的標識符只能是value
#{}自動給String類型加上'? '
${}原樣輸出? 但是適合動態排序(動態字段)
select * from user where usename = #{name}
select * from user where usename = '${value}'
動態排序:
select * from user order by ${value} desc? 根據某一個字段排序,例如name,如果加上單引號傳入的name就是個常量,起不到效果
#可以防止SQL注入
${}不防止
#{} ${}相同之處:
1.都可以獲取對象的值(嵌套)
?
2. 對象類型
#{屬性名}
${屬性名}
?
?
mybatis調用存儲過程:
xml中:
<select id=" queryCountByTypeWithProcedure" statementType="CALLABLE" parameterType="HashMap">
?? ??? ?{CALL queryCountByTypeWithProcedure(#{stype,jdbcType=INTEGER,mode=IN}, #{scount,jdbcType=INTEGER,mode=OUT})}
?? ?</select>
statementType="CALLABLE"設置sql的執行方法為存儲過程,存儲過程的輸入參數stype需要通過HahMap來傳
在使用時,通過hashmap的put方法傳入參數,通過hashmap的get獲取輸出參數的值
總結
- 上一篇: css3 transform文字,CSS
- 下一篇: 计蒜客 跳跃游戏