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

相关文章
相关标签/搜索