全国服务热线:400-6263-721

位置:长沙达内IT教育培训学校 > 学校动态 > 大数据开发Mybabits如何学习

大数据开发Mybabits如何学习

来源:长沙达内IT教育培训学校时间:2021/7/20 11:06:50

  大数据开发有大量的基础理论需要进行切实的学习与讨论,只有将基础打牢,才能更好的将它利用起来,今天是关于大数据开发基础JAVA部分Mybatis。

  一、关于Mybatis的定义

  MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis,实质上Mybatis对ibatis进行一些改进。

  iBatis一词来源于"internet"和"abatis"的组合,是一个基于java的持久层框架。iBatis提供的持久层框架包括SQLMaps和Data Access Objects(DAO)

  MyBatis是一个的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。

  Mybatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。

  二、Mybatis所注意地方

  1. mapper.xml文件即sql映射文件,文件中配置了操作数据库的sql语句。此文件需要在SqlMapConfig.xml中加载。

  2. mybatis底层自定义了Executor执行器接口操作数据库,Executor接口有两个实现,一个是基本执行器、一个是缓存执行器。

  3. Mapped Statement也是mybatis一个底层封装对象,它包装了mybatis配置信息及sql映射信息等。mapper.xml文件中一个sql对应一个Mapped Statement对象,sql的id即是Mapped statement的id。

  4. Mapped Statement对sql执行输入参数进行定义,包括HashMap、基本类型、pojo,Executor通过Mapped Statement在执行sql前将输入的java对象映射至sql中,输入参数映射就是jdbc编程中对preparedStatement设置参数。

  5. Mapped Statement对sql执行输出结果进行定义,包括HashMap、基本类型、pojo,Executor通过Mapped Statement在执行sql后将输出结果映射至java对象中,输出结果映射过程相当于jdbc编程中对结果的解析处理过程。

  三、Mybatis 基本功能

  Mybatis是支持普通SQL查询,存储过程和映射的持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。Mybatis使用简单的XML或注解用于配置和原始映射,将接口和java的POJOs映射成数据库中的记录。

  每个MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得。SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。

  用xml文件构建sqlsessionfactory实例是非常简单的事情。推荐在这个配置中使用类似路径资源,但你可以使用任何Reader实例,包括用文件路径或file://开头的url创建实例。MyBatis有一个实用类——resources,它有很多方法,可以方便地从类路径及其他位置加载资源。

  四、Mybatis的主要流程和核心概念之间的关系

  (1)SqlSessionFactoryBuilder读取配置信息生成SqlSessionFacotry,配置信息主要是通过读取配置文件mybatis-config.xml得到的,也可以通过其他方式

  (2)通过SqlSessionFacotory可以获得SqlSession。

  (3)SqlSession可以调用具体的sql语句进行执行,sql语句则通过读取mapper xml文件得到。

  (4)zui核心的地方就是sql语句的动态生成,以及参数的传入和查询结果的转化,这些都是Mybatis通过配置可以处理的,使用Mybatis主要在这三部分的编写。

  五、Mybatis原理详解:

  Mybatis配置:sqlmapConfig.xml,此文件作为Mybatis的全局配置文件,配置了Mybatis的运行环境等信息。mapper.xml即sql映射文件,文件中配置了操作数据库的sql语句。此文件需要在SqlMapConfig.xml中加载。

  通过Mybatis环境等配置信息过早sqlsessionfactory即会话工厂

  由会话工厂创建sqlsession即会话,操作数据库需要通过sqlsession进行。

  mybatis底层自定义了Executor执行器接口操作数据库,Executor接口有两个实现,一个是基本执行器,一个是缓存执行器。

  Mapped Statement也是mybatis一个底层封装对象,它保障了mybatis配置信息及sql映射信息等。mapper.xml文件中一个sql对应一个Mapped Statement独享,sql的id就是mapped statement的id。

  Mapped Statement对sql执行输入参数定义,包括Hashmap、基本类型、pojo、Executor通过Mapped Statement在执行sql前将输入的java对象映射到sql中,输入参数映射就是jdbc编程中对prepared Statement设置参数。

  Mapped Statement对sql执行输出结果进行定义,包括Hashmap、基本类型、pojo、Executor通过Mapped Statement在执行sql后将输出结果映射到java对象中,输出结果映射过程相当于jdbc编程中对结果的解析处理过程。

  六、MyBatis缓存

  1、原理:

  将频繁查询的数据存储在硬盘中,作为缓存区;当客户端发送请求时,缓存区没有相应的结果,那么就进入数据库查询结果,先在缓存区中存储在返回给客户端,如果缓存区中有,那么就直接返回给客户端.

  目的:较少与数据库的通信次数,提高程序的查询效率

  缺点:成本高不安全,缓存在实践张一丁只存储那些频繁查询的数据,以硬盘的空间换取程序运行的时间

  2、注意事项:

  ①只有当SqlSession关闭时,数据才会存入缓存区

  ②脏数据问题:当缓存区中数据与数据库中数据不一致时,我们成缓存中的这一部分为脏数据

  ③MyBatis在进行事务提交时,会自动清空缓存

  ④在查询操作后一定要关闭SqlSession增删改操作一定要控制事务

领取试听课
每天限量名额,先到先得

尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/1684/news/385147/违者必究! 以上就是长沙达内IT教育培训学校 小编为您整理 大数据开发Mybabits如何学习的全部内容。

温馨提示:提交留言后老师会第一时间与您联系!热线电话:400-6263-721