搜索
您的当前位置:首页正文

mybatis中#和$有什么不同

来源:哗拓教育

#和$两者含义不同

#会把传入的数据都当成一个字符串来处理,会在传入的数据上面加一个双引号来处理。

而$则是把传入的数据直接显示在sql语句中,不会添加双引号。

两者的实现方式不同

1、$作用相等于是字符串拼接

2、#作用相当于变量值替换

#和$使用场景不同

1、在sql语句中,如果要接收传递过来的变量的值的话,必须使用#。因为使用#是通过PreparedStement接口来操作,可以防止sql注入,并且在多次执行sql语句时可以提高效率。

2、$只是简单的字符串拼接而已,所以要特别小心sql注入问题。对于sql语句中非变量部分,那就可以使用$,比如$方式一般用于传入数据库对象(如传入表名)。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top