- Executor可以使用JDBC三个中任意一个的statement;
- 那Executor执行器是如何确定使用JDBC的哪个预处理器Statement呢?
Executor执行器是通过MappedStatement类的statementType属性值判断使用JDBC的哪个预处理器Statement的。 - mybatis中具体设置statementType属性值的位置
1)STATEMENT:直接操作sql,不进行预编译,获取数据:$—Statement(使用场景,动态传入表名,列名)
2)PREPARED:预处理参数,进行预编译,获取数据:#——PreparedStatement:默认
3)CALLABLE:执行存储过程————CallableStatement
注意:如果只为STATEMENT,那么sql就是直接进行的字符串拼接,这样为字符串需要加上引号,如果为PREPARED,是使用的参数替换,也就是索引占位符,我们的#会转换为?再设置对应的参数的值。
04-14
653
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
07-16
07-16
07-16
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交