什么是mybatis,mybatis有什么特点,下面先给大家介绍下mybatis的概念及特点。
jdbc开发优缺点:
1)优点:简单易学,上手快,非常灵活构建SQL,效率高
2)缺点:代码繁琐,难以写出高质量的代码(例如:资源的释放,SQL注入安全性等)
开发者既要写业务逻辑,又要写对象的创建和销毁,必须管底层具体数据库的语法
(例如:分页)。
3)适合于超大批量数据的操作,速度快
hibernate开发优缺点:
1)优点:不用写SQL,完全以面向对象的方式设计和访问,不用管底层具体数据库的语法,(例如:分页)便于理解。
2)缺点:处理复杂业务时,灵活度差, 复杂的HQL难写难理解,例如多表查询的HQL语句
3)适合于中小批量数据的操作,速度慢
1)基于上述二种支持,我们需要在中间找到一个平衡点呢?结合它们的优点,摒弃它们的缺点,
这就是myBatis,现今myBatis被广泛的企业所采用。
2)MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。
3)iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)
4)jdbc/dbutils/springdao,hibernate/springorm,mybaits同属于ORM解决方案之一
好了,下面在给大家简单介绍下Mybaits的特点及优点,具体内容如下所示:
1.SQL语句和代码分离
便于统一管理和维护,不必再Java代码中调式SQL语句.但是当SQL语句出错时,控制台不会打印Log,
解决办法--引用log4j
2.用标签拼接SQL语句
用标签代替JAVA代码虽然写简单SQL语句时方便了许多,但是复杂的语句拼接难度大
3.结果集和JAVA对象自动映射
写过hibernate的都知道,hibernate连接数据库生成SQL语句的时候,会自动生成数据库实体类和其映射文件.在mybaits中,它帮我们做了这件事情.但是对数据库的字段要求较
高,实体类和配置文件需要手写.
4.即时加载
在一个页面同时显示大量数据时,hibernate的延时加载会创建大量的代理类,消耗资源.mybaits并不通过延时访问数据库.