Mybatis(一)

基于Mybatis的学习

之前接触框架很少,这次对Mybatis的学习让我有了认识到自己学习的不足。

很多框架的应用都是为了解耦。

框架让组间开发有了一定的统一规范,更加方便,更加快捷。

并不是用的框架多写出来的代码就更好,要根据实际情况选择合适的框架进行开发。

学习过程中使我对对象和封装有了更清晰、更全面的认识。

MVC框架的使用增进了代码的可维护性,优化了团队合作的结构。

下面是这段时间着重学习的Mybatis :

(1)加载配置并初始化

触发条件:加载配置文件

处理过程:将SQL的配置信息加载成为一个个MappedStatement对象(包括了传入参数映射配置、执行的SQL语句、结果映射配置),存储在内存中。

(2)接收调用请求

触发条件:调用Mybatis提供的API

传入参数:为SQL的ID和传入参数对象

处理过程:将请求传递给下层的请求处理层进行处理。

(3)处理操作请求

触发条件:API接口层传递请求过来

传入参数:为SQL的ID和传入参数对象

处理过程:

(A)根据SQL的ID查找对应的MappedStatement对象。

(B)根据传入参数对象解析MappedStatement对象,得到最终要执行的SQL和执行传入参数。

(C)获取数据库连接,根据得到的最终SQL语句和执行传入参数到数据库执行,并得到执行结果。

(D)根据MappedStatement对象中的结果映射配置对得到的执行结果进行转换处理,并得到最终的处理结果。

(E)释放连接资源。

(4)返回处理结果将最终的处理结果返回。

遇到的问题1:

对于注解的使用一开始并不理解,生搬硬套,出现了一些小的bug。

解决方法1:

花了一些时间专门链接了一下注解的使用结合Mybatis的xml配置文件解决了问题

遇到的问题2:

查询结果一开始总是出现空指针和数据不匹配的问题

解决方法2:

通过分析发现是封装、解析和Sql语句的拼接出现的问题,重新了解了一些封装的知识成功解决问题

你可能感兴趣的:(Mybatis(一))