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/
- 初识mybatis
- 初识Mybatis
- 初识MyBatis
- 初识MyBatis
- 初识Mybatis
- 初识mybatis
- Mybatis初识
- Mybatis初识
- 初识MyBatis
- 初识MyBatis
- 初识MyBatis
- 初识Mybatis
- Mybatis初识
- 初识mybatis
- 初识mybatis
- MyBatis初识
- 初识MyBatis
- MyBatis初识
- mysql中int长度的意义
- Android中 完美实现 计时 倒计时 时间间隔处理等功能实现 by CountDownTimer
- JS -- =、==和===
- Maven学习详解(13)——Maven常用命令大全与pom文件讲解
- JAXB 解析XML获取不到属性值
- Mybatis初识
- Swift请求数据封装
- IDEA Maven不见了
- NoSql之Redis持久化
- Java语言程序设计考试安排
- 文章标题
- 推荐系统_推荐系统的常用评测指标
- Map的插入操作和按照value排序
- LeetCode 34. Search for a Range