MyBatis 面试题

1、什么是 Mybatis?
答:MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录
2、Mybaits 的优点:
3、MyBatis 框架的缺点:
答:框架比较简陋,功能尚有缺失,虽然简化了数据绑定代码,但是整个底层数据库查询还得自己写,工作量大,不易修改。二级缓存机制不佳。sql语句依赖数据库,导致数据库移植性差,不能随意更换数据库。
4、MyBatis 框架适用场合:
答: MyBatis专注于SQL本身,是一个足够灵活的DAO层解决方案。对性能的要求很高,或者 需求变化较多的项目,如互联网项目,MyBatis将 是不错的选择

5、MyBatis 与 Hibernate 有哪些不同?

  • Mybatis和hibernate不同,它不完全是一个ORM框架,因为MyBatis需要程序员自己编写Sql语句。

    
  • Mybatis直接编写原生态sql,可以严格控制sql执行性能,灵活度高,非常适合对关系数据模型要求不高的软件开发,因为这类软件需求变化频繁,但需求变化要求迅速输出成果。但是灵活的前提是mybatis无法做到数据库无关性,如果需要实现支持多种数据库的软件,则需要自定义多套sql映射文件,工作量大。

     
  • Hibernate对象/关系映射能力强,数据库无关性好,对于关系模型要求高的软件,如果用hibernate开发可以节省很多代码,提高效率



6、#{}和${}的区别是什么?
7、当实体类中的属性名和表中的字段名不一样 ,怎么办 ?
8、 模糊查询 like 语句该怎么写?
9、通常一个 Xml 映射文件,都会写一个 Dao 接口与之对应,请问这个 Dao 接口的工作原理是什么?Dao 接口里的方法,参数不同时,方法能重载吗?

 

原文地址:http://www.cnblogs.com/ningshare/p/16912919.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性