MyBatis 是支持定制化 SQL的持久层框架。
MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
MyBatis 最强大的特性就是它的动态SQL语句功能。之前使用JDBC或者类似框架,要把SQL语句条件连接在一起是多么的痛苦,要确保不能忘记空格或者不要在columns列后面省略一个逗号等。动态语句能够完全解决掉这些痛苦。
eg:
所有字段完整写法:
insert into 表(字段1,字段2,...) values(值1,值2,...)
insert into 表(字段2) values(值2);
如果使用动态SQL,一条SQL语句可以解决多种添加的问题。
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。
iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)
MyBatis工作原理
所有框架基本都有这个框架的配置XML文件。
web项目部署启动后,容器首先加载的是那个配置文件?web.xml
第一步:加载这个框架的配置文件(XML解析)
Mybatis的核心配置文件和动态SQL的配置文件
第二步:得到工厂
第三步:得到操作对象
第四步:源码底层会调用具体的执行器去执行(SQL语句)
第五步:由动态SQL配置文件解析后得到MapperStatement对象(封装了SQL语句)
网友评论