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