1.简单描述一下mybatis?
一个半ORM框架,内部封装了JDBC,开发时只需要关注SQL本身。采用xml配置或注解来映射原生信息,避免大部分的JDBC代码手动设置返回结果。通过java对象和statement中sql动态参数进行映射成最终的sql。
2.#{}和${}的区别?
{}是预编译处理,
{}就是把{}替换成变量的值。所以使用#{}可以防止sql注入
mybtis如何编写一个插件?
可以通过使用插件拦截的方法调用包括
1.Executor
MyBatis执行器,是MyBatis 调度的核心,负责SQL语句的生成和查询缓存的维护
2.ParameterHandler
负责对用户传递的参数转换成JDBC Statement 所需要的参数,
3.ResultSetHandler
负责将JDBC返回的ResultSet结果集对象转换成List类型的集合
4.StatementHandler
封装了JDBC Statement操作,负责对JDBC statement 的操作,如设置参数、将Statement结果集转换成List集合。
网友评论