mybatis中常见配置概述

一、概述

原生的JDBC,驱动连接,sql处理,结果集映射,参数转换都需要自己处理,比较麻烦。
mybatis的出现,有效的简化的传统JDBC的操作,特点如下:

  • 使用连接池进行连接的统一管理;
  • SQL和代码分离,集中管理;
  • 结果集映射处理;
  • 参数映射和动态sql拼接
  • 重复sql提取
  • 缓存处理
  • 插件机制

二、主要配置文件

mybatis中比较重要的配置文件,全局配置文件和mapper文件。

全局配置文件解析:

在xml中进行全局配置文件配置,必须遵循xml中的scheme约束,按照相应的标签顺序处理。
xml中属性如下:
configuration标签是配置文件根标签;

properties标签中resource属性,可以引用一个资源路径.properties文件,主配置文件用${}引用资源文件中的配置项。

settings标签是一个比较重要运行时的配置项:
如:日志,二级缓存是否开启,延时加载开关等,都在这进行相应的配置。

typeAliase标签,主要定义一种映射关系,简化结果集的映射操作。

typeHandlers标签,可以配置自定义的结果映射处理。
注:mybatis内置了很多TypeHandler,他们全部注册到TypeHandlerRegistry中,并且继承BaseTypeHandler。这样大部分的类型装换都帮我们处理了。

objectFactory标签,可以自定义我们自己的对象创建工厂。
注:当我们把数据库返回的信息转化为实体类的时候,我们必须通过反射创建对应的实体信息。

mybatis提供了ObjectFactory工厂来创建对象的实例,它是接口,有一个默认实现DefaultObjectFactory,创建对象都要调用instantiateClass(),这里能看到对应的反射代码。

pulgins标签,是mybatis预留的插件接口,让mybatis更加容易拓展。

environment标签,其中一个事务管理,一个是数据源。
标签的属性分别为transactionManager,datasource
mapper标签,配置xml文件对应的路径,目的是mybatis启动后,扫描映射器创建映射关系。

映射文件解析:

mapper文件组成由 UserMapper接口 以及对应的一个UserMapper.xml配置文件,其中xml中的namespace对应的UserMapper接口的全路径。

保证接口名称和UserMapper.xml中的sql标签中id一致就ok,最终通过反射就能调用处理。

映射文件相关标签:
● cache标签,该命名空间的缓存配置
● cache-ref,引用其他命名空间的缓存配置
● resultMap   从数据库结果集中加载对象,是最复杂也是最强大的元素
● parameterMap  参数映射,已废弃
● sql  可重用语句快
● select
● update
● delete
● insert
动态sql语句
● if 标签含有test属性 判断值是否存在
● choose(when,otherwise)   when 中也有test属性
● trim (where set) prefix属性前缀   prefixOverriders   suffixoverrides
● foreach  集合遍历  	collection item  open seperator close
mybatis中执行器

mybatis的批量更新比for循环的一条条的更新效率高的多,关键在于减少数据库操作次数,并且避免开启和结束事务的时间消耗。

批量操作的执行器BatchExecutor,如果批量操作的sql语句过大,默认的max_allowed_packet默认是4k。
全局配置时,setting如果不指定默认是Simple,当然也可以在创建会话的时候指定。

Executor 顶级接口
BaseExecutor CachingExecutor 分别实现Executor
最后 SimpleExecutor ReuseExecutor BatchExecutor CloseExecutor 都继承自BaseExecutor

SimpleExecutor: 执行完一次update或者select,就开启一个statement对象,用完立即关闭。
ReuseExecutor:执行完update或者select,以sql作为key查找statement对象,存在就使用,不存在就重新创建,用Map进行缓存。
BatchExecutor:执行update,将所有sql都添加到批处理中,等待统一执行。

关联查询:

resultMap 结果集映射 association标签 1对1的映射关系
collection 1对多的映射关系

分页处理:

逻辑分页:Mybatis中逻辑分页对象RowBounds,工作原理其实是对ResultSet的处理,它会舍弃掉offset条数据,然后取剩下的limit条数据。

物理分页:
是真正的分页,通过数据库支持的语句实现分页。
PageHelper是mybatis拦截器实现的,利用插件的相关原理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MyBatis是一种开源的持久化框架,它简化了Java开发者对关系型数据库的访问和操作。MyBatis提供了强大的SQL映射配置和灵活的结果映射,使得开发者可以通过简单的配置文件来完成复杂的SQL语句和数据库操作。 MyBatis文文档是MyBatis官方提供的一份完整的使用指南,方便文用户学习和使用MyBatis。在文文档,详细介绍了MyBatis的基本概念、核心组件和使用方法。其包括了以下内容: 1. MyBatis的介绍:文档介绍了MyBatis的特点、优势以及它与其他ORM框架的比较,帮助开发者了解MyBatis的背景和定位。 2. MyBatis配置:文档详细介绍了MyBatis配置文件,包括数据源配置、缓存配置、映射文件配置等,开发者可以根据文档的指导完成配置的工作。 3. MyBatis的映射配置:文档详细介绍了如何编写映射文件,包括SQL语句的编写和参数的传递等,开发者可以根据文档的示例进行学习和实践。 4. MyBatis的常用操作:文档介绍了MyBatis的常用操作,包括插入数据、更新数据、删除数据以及查询数据等,开发者可以根据文档的指导完成这些操作。 5. MyBatis的高级特性:文档介绍了MyBatis的高级特性,包括动态SQL、一对一、一对多、多对多关联查询等,开发者可以根据文档的指导进行学习和实践。 总之,MyBatis文文档是开发者学习和使用MyBatis的重要参考资料,通过阅读文档,开发者可以快速上手、深入了解MyBatis的使用方法,提高工作效率。 ### 回答2: Mybatis是一款广泛使用的开源持久化框架,用于简化Java应用程序与关系型数据库之间的交互操作。它的文文档提供了对该框架的全面介绍和详细解释,有助于开发人员更好地理解和应用它。 首先,文档介绍了Mybatis的概念和架构,包括核心组件如SqlSessionFactory、SqlSession和Mapper的作用和用法。它还解释了Mybatis的工作流程,包括配置文件的加载和解析、动态SQL的生成和执行以及结果映射的处理过程,使开发人员对Mybatis的运行机制有更加清晰的认识。 其次,文档详细介绍了Mybatis配置方式,包括使用XML配置和注解配置两种方式。它指导开发人员如何配置数据库连接信息、映射文件和Mapper接口,以及如何使用不同的SQL语句和参数传递方式。同时,文档还介绍了Mybatis的高级特性,如缓存机制、懒加载、批量操作等,以及如何优化和调试应用程序性能。 此外,文档提供了丰富的实例代码和示例,帮助开发人员更好地理解Mybatis的使用方法。它展示了如何编写映射文件和Mapper接口,如何执行常见的CURD操作,如何处理复杂的查询和分页等。开发者可以根据文档的实例代码进行实践和实验,加深对Mybatis的掌握和应用。 总体而言,Mybatis文文档是学习和使用Mybatis框架的重要参考资料。它以清晰的语言和详细的示例,深入浅出地介绍了Mybatis的使用方法和原理,对于提升开发人员的技术能力和开发效率具有重要意义。无论是初学者还是有经验的开发者,都可以从文文档获得丰富的知识和技巧,更好地应用Mybatis完成项目开发。 ### 回答3: Mybatis是一种轻量级的Java持久层框架,用于简化数据库操作。它具有简单易学的特点,同时提供了强大的灵活性和可扩展性。Mybatis文文档提供了对框架的详细介绍和使用方法,方便开发者学习和理解。 首先,Mybatis文文档包含了对框架的概述,介绍了Mybatis的发展历史、特点以及与其他框架(如Hibernate)的对比。它还详细解释了Mybatis的核心原理和架构,包括SqlSessionFactory、SqlSession和Mapper等重要组件的作用和使用方式。 其次,Mybatis文文档提供了对配置文件的讲解。配置文件是Mybatis框架非常重要的一部分,它定义了数据库连接信息、映射关系以及动态SQL的配置等。文档会详细介绍配置文件的结构和各个配置项的含义,帮助开发者正确配置和使用Mybatis。 此外,Mybatis文文档还包含了对Mapper接口和SQL语句映射的详细说明。文档会介绍Mybatis的注解和XML方式两种定义Mapper接口的方法,并且演示如何通过Mapper接口来执行数据库操作。对于SQL语句映射,文档会详细介绍动态SQL的使用方式和常用的标签,帮助开发者编写灵活且高效的SQL语句。 最后,Mybatis文文档还会提供一些常见问题的解答和示例代码。这些问题可能涉及到一些常见的错误、性能优化、事务管理和二级缓存等方面。通过这些示例代码,开发者可以更好地理解和应用Mybatis框架。 总之,Mybatis文文档为开发者提供了全面且易于理解的框架介绍和使用指南。它是学习和掌握Mybatis的必备参考资料,对于提高开发效率和编写高质量的数据库操作代码非常有帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值