美文网首页Java面试篇
面试题之Mybatis篇

面试题之Mybatis篇

作者: TZX_0710 | 来源:发表于2020-08-27 10:19 被阅读0次

1.简单描述一下mybatis?

一个半ORM框架,内部封装了JDBC,开发时只需要关注SQL本身。采用xml配置或注解来映射原生信息,避免大部分的JDBC代码手动设置返回结果。通过java对象和statement中sql动态参数进行映射成最终的sql。

2.#{}和${}的区别?

{}是预编译处理,{}是字符串替换 在处理#{}时候,会将sql中的#{}替换成? 然后采用preparedStatement的set方法来复制 mybatis处理{}就是把{}替换成变量的值。所以使用#{}可以防止sql注入

mybtis如何编写一个插件?

可以通过使用插件拦截的方法调用包括
1.Executor
MyBatis执行器,是MyBatis 调度的核心,负责SQL语句的生成和查询缓存的维护
2.ParameterHandler
负责对用户传递的参数转换成JDBC Statement 所需要的参数,
3.ResultSetHandler
负责将JDBC返回的ResultSet结果集对象转换成List类型的集合
4.StatementHandler
封装了JDBC Statement操作,负责对JDBC statement 的操作,如设置参数、将Statement结果集转换成List集合。

相关文章

网友评论

    本文标题:面试题之Mybatis篇

    本文链接:https://www.haomeiwen.com/subject/qpxcsktx.html