mybatis 07: sql标签中 “「」” 和 “$「」” 的作用和比较

传参大部分使用#{},在数据库底层使用的是:PreparedStatement预编译处理对象

通过在SqlMapConfig.xml添加日志输出配置,在后文测试输出的结果中可以验证

如果parameterType的类型是实体类的类型,则#{}里只能是类中成员变量的名称,而且区分大小写

注意:对于parameterType的类型是简单类型时,${}里变量名称随便写,但是分版本

优化后,使用#{}接受传参,底层是preparedStatement预编译对象,可以防止sql注入

存在的问题:两条sql语句的结构在本质上是相同的,写两条语句十分冗余,可以采用替换列名的方式进行优化

接口分析:当接口中的方法的参数有多个时,用注解标识参数,sql标签可通过注解中声明的参数名获取参数

当标签对应的接口中的方法有多个参数时,标签中的入参类型,即:parameterType,取消不写,通过方法中注解的参数名称获取参数

用于替换时只可以使用${},应该放在like前。#{}用来传值,应该放在like后用来占位传值

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用*标注