mappers文件中的#{}語法與${}語法的區別

mappers文件中的#{}語法與${}語法的區別:html

    默認狀況下, #{}語法會促使MyBatis生成PreparedStatement屬性而且使用PreparedStatement的參數(=?)來設置值。若是你想直接將未更改的字符串代入到sql中,能夠使用${}。sql

    也就是說,MyBatis看到 #{}會認爲你在給sql中的變量賦值,就像JDBC編程中給問號賦值同樣(好比MyBatis會判斷它的類型,並自動在先後加單引號)。而當MyBatis看到${}的時候會直接將之替換成變量的值而不作任何處理。編程

因此在使用${}的時候,不須要像#{}同樣寫"jdbcType=VARCHAR"之類的屬性。 app

轉自:http://www.cnblogs.com/mabaishui/archive/2012/06/20/2556500.htmlide

相關文章
相關標籤/搜索