0731 框架Mybatis

summarize

SSM框架:  SpringMVC(简化web)、Spring贯穿全场(管理整个项目所有对象的容器)、Mybatis(简化dao) 世面上还有一个框架 SSH:Struts2、Spring、Hirbernate

MyBatis架构

1.   Mybatis介绍

MyBatis 本是apache的一个开源项目iBatis,10年这个项目由apache software foundation 迁移到了google code,改名为MyBatis 。2013年11月迁移到Github。

Ibatis 来源于“Internet”和“abatis”的组合

      MyBatis是一个优秀的持久层框架(dao层),它对jdbc的操作数据库的过程进行封装,使开发者只需写SQL 语句,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等JDBC繁杂的过程代码。

Mybatis通过xml或注解的方式将要执行的各种statement(statement、preparedStatemnt、CallableStatement)配置起来,并通过java对象和statement中的sql进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射成java对象并返回。

2.   使用jdbc编程问题总结

①、数据库连接创建、释放频繁造成系统资源浪费,从而影响系统性能。如果使用数据库连接池可解决此问题。

②、Sql语句在代码中硬编码,造成代码不易维护,实际应用中sql变化的可能较大,sql变动需要改变java代码。所谓硬编码:dao层里有SQL语句和java代码,一个SQL对应一个方法,后期维护麻烦,Mybatis将他们分离

③、使用preparedStatement向占位符号传参数存在硬编码,因为sql语句的where条件不一定,可能多也可能少,修改sql还要修改代码,系统不易维护。

④、对结果集解析存在硬编码(查询列名),sql变化导致解析代码变化,系统不易维护,如果能将数据库记录封装成pojo对象解析比较方便。 

3.  Mybatis架构

 

SqlMapConfig.xml  是MyBatis的核心配置文件

下面的三个 xml,  一个表对应一个xml 

SqlSessionFactory

pm

0

原文地址:https://www.cnblogs.com/zs0322/p/11275339.html