[关闭]
@wxf 2018-03-03T04:46:19.000000Z 字数 616 阅读 632

MyBatis相关问题整理

面试系列


MyBatis与Hibernate有哪些不同

  1. MyBatis不是一个完全的ORM框架,它可以通过XML或注解方式灵活配置sql语句,并将Java对象和sql语句映射生成最终执行的sql,最后将sql执行的结果再映射生成Java对象。
  2. MyBatis无法做到数据库无关性,如果需要实现支持多种数据库则需要自定义多套sql映射文件。实现方式:MySQL与Oracle通过配置切换

使用MyBatis的mapper接口调用时有哪些要求

  1. Mapper接口方法名和mapper.xml中定义的每个sql的id相同
  2. Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql 的parameterType的类型相同
  3. Mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的resultType的类型相同
  4. Mapper.xml文件中的namespace即是mapper接口的类路径。

MyBatis中#{}与${}的区别

#{}在预处理时,会把参数部分用一个占位符‘?’代替,可以防止SQL注入;而${} 则是将传入的数据直接显示生成在sql中,不能防止SQL注入。

MyBatis中处理>、<

参考资料:Mybatis总结以及在面试中的一些问题

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注