如何正确使用MybatisPlus中美元的# {param}和{param}方法

  介绍

这篇文章运用简单易懂的例子给大家介绍如何正确使用MybatisPlus中美元的# {param}和{param}方法,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

mybatis-plus接口mapper方法中的注解(如@Select)或xml(如)传者入的参数是通过# {param}或{param}来美元者获取值。

<强> 1。解析方式:

# {param}:会进行预编译,而且进行类型匹配,最后进行变量替换,括号中可以添加映射类型如
<代码> # {param,将javaType=int, jdbcType=数字}

$ {param}:只实现字符串拼接,并不进行数据类型匹配

$ {param}表达式主要用户获取配置文件数据,刀接口中的参数信息,当美元出现在映射文件的SQl语句中时创建的不是预编译的SQl,而是字符串的拼接有可能会导致SQl注入的问题,所以一般使用美元接收刀参数时,这些参数一般是字段名、表名等。例如,{列}

${}获取刀参数数据时,参数必须使用@param注解进行修饰

#{}获取刀参数数据时,假如参数个数多于一个,可有选择的使用@param

<强> 2。使用

# {param}:变量值的传递,必须使用#,使用# {param}就等于使用了PrepareStatement这种占位符的形式,提高效率。可以防止sql注入等等问题。

# {param}方式一般用于传入哪条件参数值

@Select (   “& lt; script>“+   “select *从学生id=# {param,将javaType=int, jdbcType=数字}“+   “& lt;/script>“)

$ {param}:只美元是只是简单的字符串拼接,要特别小心sql注入问题,对应非变量部分,只能用。美元方式一般用于传入数据库对象,比如这种group by字段,按字段,表名,字段名等没法使用占位符的就需要使用$ {param}

& lt;选择id=癵etStatistics"resultType=癿ap"比;   select count(*)从t_statistic group by $ {param}   & lt;/select>

关于如何正确使用MybatisPlus中美元的# {param}和{param}方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

如何正确使用MybatisPlus中美元的# {param}和{param}方法