Mybatis初识

原创 2016年05月31日 11:50:36

Mybatis初识


mybatis介绍

mybatis是一个简化和实现了java数据持久化层的开源框架,它抽象了大量的JDBC冗余代码,并提供了一个简单易用的API和数据库交互。
mybatis流行的主要原因在于它简单和易用以及较高的性能。

introduce:

    MyBatis is a first class persistence framework with support for custom SQL,stored procedures and advanced mappings. MyBatis eliminates almost all of the JDBC code and manual setting of parameters and retrieval of results. MyBatis can use simple XML or Annotations for configuration and map primitives,Map interfaces and Java POJOs (Plain Old Java Objects) to database records.

mybatis优点特性

1、消除了大量的JDBC冗余代码
2、学习成本比较低
3、可以很好的与传统的数据库协同工作
4、可以接受SQL语句
5、提供与Spring和Guice框架的集成支持
6、提供了与第三方缓存类库的集成支持
7、较高的访问和查询性能

备注:通常一些ORM框架使用了大量的动态代理模式来产生尸体对象等,由于动态代理本身有很大的内存消耗,大量使用动态代理会使整个系统性能变得比较差。


mybatis核心预览


mybatis架构设计分析

//TODO 图画展示


mybatis核心配置文件mybatis-config.xml配置和加载机制

mybatis初始化机制


使用mybatis方式

1、基于传统的statmented id调用方式
2、基于Mapper接口调用方式(更符合面向对象思想,底层还是调用第一种)
备注:使用Mapper接口是最佳实践,我们可以以类型安全的方式调用映射的SQL语句

mybatis核心类和接口

SqlSessionFactoryBuilder(读取核心配置文件生成会话工厂的类)
SqlSessionFactory(新建会话的工厂类)
SqlSession(会话对象类)

Configuration(对应mybatis-config配置文件的一个对象)
MappedStatement(对应着映射器配置文件的每一条statment语句配置)
Executor(执行器接口,就像发送器)
BoundSql(对应一条sql语句)
TypeHandler()
ParameterHandler(对入参作处理处理器)
ResultHandler(对出参作处理的处理器)

//TODO 分析一次查询的全过程(debug代码分析)


映射器配置文件

1、CRUD
2、一对多和多对多配置
3、动态SQL

mybatis很重要的功能就是对入参和出参数据处理


mybatis缓存机制的设计与实现原理

一级缓存和二级缓存


mybatis数据源和连接池深入理解


mybatis逆向工程的使用

mybatis generator


mybatis和spring集成


参考

1、http://www.mybatis.org/mybatis-3/
2、http://generator.sturgeon.mopaas.com/index.html#
3、http://blog.csdn.net/u010349169/article/category/2309433
4、https://en.wikipedia.org/wiki/MyBatis
5、https://www.ibm.com/developerworks/cn/opensource/os-cn-mybatis/
6、https://www.ibm.com/developerworks/cn/java/j-lo-ibatis-principle/
7、https://www.ibm.com/developerworks/cn/opensource/os-cn-ibatis/

初识人工智能

人工智能,之所以冠以“”人工“,最主要是因为其模仿人类的思维过程所产生的。而“”智能“”,怎样才算智能呢?前一阵子比较火的智能家居,最主要的形式是通过各种手机APP 或者终端远程控制各种家电开关,这种...
  • oangeli
  • oangeli
  • 2017年01月18日 23:35
  • 213

Mybatis练习(1)

由于之前项目用到的都是Hibernate,现在突然改用MyBatis,所以要重新研究一下,还好基本原理是差不离。在Hibernate的基础上再去学MyBatis,个人觉得起到了事半功倍的作用。   M...
  • vanpeixi
  • vanpeixi
  • 2016年09月06日 14:34
  • 467

JAVA学习第一课(初识JAVA)

PS:退ACM集训队了,自己也疯玩了两天,后天就开学了,就正式大二了,该收收心好好学习啦                                                        ...
  • u013497151
  • u013497151
  • 2014年08月30日 14:51
  • 2264

【redis 基础篇一】redis初识

在JDB来了差不多一个月的时间了,在了解公司业务和框架的过程中,看到了在通过上游调用接口的过程中,使用到了redis来调用值,上游将一个参数传过来,我们通过这个参数去redis中读取部分参数,然后将所...
  • huo065000
  • huo065000
  • 2016年02月28日 18:57
  • 635

mybatis入门--初识mybatis

mybatis的入门级博客,欢迎各位大神指导
  • u013049248
  • u013049248
  • 2017年02月14日 01:18
  • 307

初识这种感觉

来到世间走一朝,都在尝着种种滋味,有苦,有甜,有悲,有喜,有恨,有爱。尝着,尝着,便没有味道了,而是显露出淡淡的,浅浅的微笑——谢谢,让我深爱过。      有种感觉萌生,那是什么?我不知道,...
  • mbpmatch
  • mbpmatch
  • 2014年09月30日 14:38
  • 149

mybatis初识

MyBatis从入门到最后会讲解的内容: 基础知识(重点,内容量多) 对原生态jdbc程序(单独使用jdbc开发)问题总结 mybatis框架原理 (掌握) mybatis入门程序 用户的...
  • jjs15259655776
  • jjs15259655776
  • 2017年10月26日 19:28
  • 49

MyBatis初识

最近写一个web服务接口,用到了MyBatis3.2,把我配置的过程及自己的一些做法供大家参考,希望能帮助到刚入手MyBatis的技术人员;(如果您阅读文章时发现问题,希望留言指出) 首先导入m...
  • qq_27394579
  • qq_27394579
  • 2017年04月13日 21:01
  • 73

初识Mybatis

Hibernate是全自动化的ORM映射框架,MyBatis是半自动化得ORM映射框架
  • jly4758
  • jly4758
  • 2015年06月28日 11:16
  • 684

Mybatis——初识

对mybatis的一些简单认识,总结
  • qq_39539346
  • qq_39539346
  • 2017年09月19日 14:12
  • 99
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Mybatis初识
举报原因:
原因补充:

(最多只允许输入30个字)