-
SqlMapConfig.xml
-
SqlMapConfig.xml文件是Mybatis的全局配置文件,配置了Mybatis的运行环境等信息
-
-
Mapper.xml
-
Mapper.xml文件即sql映射文件,文件中配置了操作数据库的sql语句。此文件需要在SqlMapConfig.xml文件中配置加载
-
-
SqlSessionFacory
-
通过SqlMapConfig.xml文件里面的环境配置信息构造SqlSessionFactory会话工厂,用来生产和管理SqlSession
-
-
SqlSsession
-
由SqlSessionFactory工厂创建SqlSession会话对象,SqlSession用来操作数据库
-
-
Executor
-
MyBatis底层自定义了Executor执行器接口操作数据库,Executor接口有两个实现,一个基本执行器,一个缓存执行器
-
我们前期学习MyBatis暂时不用关注这个
-
-
MappedStatement
-
MappedStatement也是MyBatis的一个底层封装对象,它包装了MyBatis配置信息及sql映射信息等。
-
Mapper.xml中一个sql对应一个MappedStatement对象,sql的id即是MappedStatement的id
-
这个暂时不用关注
-
-
输入映射
-
输入映射我们可以理解为执行sql语句所需的参数
-
-
输出映射
-
输出映射指的是操作数据库之后返回的结果
-
1.JDBC问题分析:
(1)数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题。
(2)Sql 语句在代码中硬编码,造成代码不易维护,实际应用 sql 变化的可能较大,sql 变动需要改变 java代码。
(3)使用 preparedStatement 向占有位符号传参数存在硬编码,因为 sql 语句的 where 条件不一定,可能多也可能少,修改 sql 还要修改代码,系统不易维护。
(4)对结果集解析存在硬编码(查询列名),sql 变化导致解析代码变化,系统不易维护,如果能将数据库记
录封装成 pojo 对象解析比较方便。
2.MyBatis框架的缺点:
SQL语句的编写工作量较大,尤其是字段多、关联表多时,更是如此,对开发人员编写SQL语句的功底有一定要求。
SQL语句依赖于数据库,导致数据库移植性差,不能随意更换数据库。
3.MyBatis框架适用场合:
MyBatis专注于SQL本身,是一个足够灵活的DAO层解决方案。
对性能的要求很高,或者需求变化较多的项目,如互联网项目,MyBatis将是不错的选择.