【007】Mybatis对操作接口方法是如何支持多参数?
答:
mybatis是通过参数池的概念来实现对多个参数的支持
mybatis要支持多参数,必须在参数前加注解@Param,如:
int methodName(@Param(value="name") String name, @Param(value="sex") String sex) 【008】Mybatis中#{}与${}的区别?什么时候需要使用${}?
答:
区别一:
① 使用#{},输出的日志为,SID =?
#{}表示设置预编译的参数,就是?的参数,
所以如果要不固定的表名不能使用#{},只能使用${}
② 使用${},输出的日志为,SID=10,不是?号,而是一个传递进来的值
${}直接把值输出来,而#{]是使用 ? 来代替,所以${}是不安全的
区别二:
① #{}:可以获得参数类型匹配的值,也可以获得参数池的值
② ${}:必须在参数池里面获得对应的值,所以 ${} 只能接收带有@Param的参数
区别三:
① ${}只能获得参数池的值
② #{}可以获得方法的参数值,也可以获得参数池的值,
如果使用${}获得参数的值,这个参数必须要加上@Param
配置二级缓存步骤:
① 必须将需要缓存的实体类加上序列化接口
Serializable用于序列化数据,支持二级缓存
② 导入缓存需要的jar包、映射文件配置缓存的支持
<cache></cache>
③ 配置启动二级缓存(新版本默认为true,可以不配)
<settings>
<setting name="cacheEnabled" value="true" />
</settings>