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