MyBatis框架架构,动态sql详解

KLQ 2020-07-10 10:30:13 java常见问答 6194

对于MyBatis的框架架构以及它的动态语句功能你都了解多少呢?今天的文章要给大家详细介绍的就是这两个方面的内容。

框架架构

1、加载配置

配置一个是配置文件,另外一个就是java代码注解。

把SQL配置信息加载成一个个的MappedStatement对象,这其中包括了传入参数映射配置、执行的SQL语句、结果映射配置,存储在内存当中。

2、SQL解析

在API接口层接收到调用请求的时候,会接收到传入SQL的ID和传入对象,这里的话可以是Map、javaBean又或者是基本数据类型,mybatis会根据SQL的ID找到对应的MappedStatement,之后根据传入参数对象对MappedStatement进行解析,解析之后能够获得最终要执行的SQL语句以及参数。

3、SQL执行

把最终得到的SQL以及参数拿到数据库进行执行,得到操作数据库的结果。

4、结果映射

把操作数据库的结果按照映射的配置进行转换,能够转换成hashmap、JavaBean或者基本数据类型,并且将最终的结果返回。

动态sql

MyBatis最强大的特性之一就是它的动态sql,假如你有用过JDBC又或者是类似的框架,那么你就一定知道将SQL语句条件连接在一起是有多么的麻烦。

要确保不能忘记空格或者不要在columns列后面省略一个逗号等等,都是我们要注意的操作。

但是动态语句能够完全的解决这些麻烦。

虽然和动态SQL一起工作不是在开一个party,可是,MyBatis确实可以通过在任何映射SQL语句中使用强大的动态SQL来改进这些状况

相信使用过JSTL又或者是类似于XML之类的文本处理器的人来讲的话,对于动态SQL元素都是非常的熟悉的了。

MyBatis使用了基于强大的OGNL表达式来消除了大部分元素。

关于MyBatis框架的一些基础内容就给你介绍到这里了,更多基础知识,请继续关注奇Q工具网的常见问题栏目来进行了解吧。

推荐阅读:

mybatis如何自动生成uuid主键?如何批量删除?

mybatis特点,功能架构详解

mybatis是啥?介绍,工作流程详解