Mybatis初识

来源:互联网 发布:辣条 网络用语 编辑:程序博客网 时间:2024/05/18 01:14

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/

0 0
原创粉丝点击