美文网首页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