官方文档:https://mybatis.org/mybatis-3/zh/index.html
中文手册:http://www.dba.cn/book/mybatis/
概述
MyBatis本是apache的一个开源项目iBatis, 201 0年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。
MyBatis是一个优秀的持久层框架,它对jdbc的操作 数据库的过程进行封装,使开发者只需要关注SQL本身,而不需要花费精力去处理例如注册驱动、创建connection、 创建statement、 手动设置参数、结果集检索等jdbc繁杂的过程代码。
Mybatis通过xml或注解的方式将要执行的各种statement (statement、 preparedStatemnt、CallableStatement)配置起来,并通过java对象和statement中的sq|进行映射生成最终执行的sq|语句,最后由mybatis框架执行sq|并将结果映射成java对象并返回。
JDBC连接数据库问题
1、数据库连接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库连接池可解决此问题。
解决:在SqlMapConfig.xmI中配置数据连接池,使用连接池管理数据库链接。
2、Sq|语 句写在代码中造成代码不易维护,实际应用sql变化的可能较大,sq|变动需 要改变java代码。
解决:将Sq|语句配置在XXXXmapper .xml文件中与java代码分离。
3、向sq|语句传 参数麻烦,因为sq|语 句的where条件不一定,可能多也可能少,占位符需要和参数一
对应。
解决: Mybatis自 动将java对象映射至sq|语句,通过statement中的parameterType定义输入参数的类型。
4、对结果集解析麻烦,sq|变化 导致解析代码变化,且解析前需要遍历,如果能将数据库记录封装成pojo对象解析比较方便。
解决: .Mybatis 自动将sq|执行结果映射至java对象,通过statement中的resultType定 义输出结果的类型。