Mybatis架构简述

  • 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将是不错的选择.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值