Mybatis学习进阶:从基础到精通读书笔记
版权申诉
84 浏览量
更新于2024-10-01
收藏 207KB ZIP 举报
资源摘要信息:"Mybatis从入门到精通"
知识点一:Mybatis简介
Mybatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。Mybatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。Mybatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。
知识点二:Mybatis的优缺点
优点:
1. 与Spring无缝集成,支持各种数据库连接池。
2. Mybatis可以对配置和原生Map使用简单的XML或注解,将接口和Java的POJOs映射成数据库中的记录。
3. Mybatis自动将Java对象映射至数据库记录,减少繁琐的代码编写。
4. 通过简单的XML或注解,即可灵活地配置简单的内容,如SQL语句。
缺点:
1. 需要写较多的SQL语句。
2. 需要学习Mybatis的配置和API,上手难度比JPA更高。
3. 与JPA相比,Mybatis生成的SQL语句更加繁琐。
知识点三:Mybatis配置
Mybatis的配置主要包括以下几个部分:
1. properties(属性):配置Mybatis的一些基本属性。
2. settings(设置):配置Mybatis的各种运行设置,如是否开启自动映射,是否允许大对象映射等。
3. typeAliases(类型别名):为Java类型设置一个短的名字,用于简化类名引用。
4. typeHandlers(类型处理器):定义自定义的类型处理器。
5. objectFactory(对象工厂):用于创建结果对象的工厂。
6. plugins(插件):配置Mybatis的插件,用于拦截Executor, ParameterHandler, ResultSetHandler, StatementHandler四个对象的接口方法。
7. environments(环境配置):配置Mybatis的环境,可以配置多个环境。
8. mappers(映射器):配置Mybatis的映射器,用于指定SQL映射文件的位置。
知识点四:Mybatis的CRUD操作
Mybatis的CRUD操作主要包括以下四个方面:
1. selectOne:用于查询单条数据。
2. selectList:用于查询列表数据。
3. insert:用于添加数据。
4. update:用于更新数据。
5. delete:用于删除数据。
知识点五:Mybatis的高级映射
Mybatis支持高级映射,包括一对一,一对多,多对一,多对多等关系的映射。通过resultMap和association标签,可以实现复杂的关系映射。
知识点六:Mybatis的动态SQL
Mybatis支持动态SQL,可以编写灵活的SQL语句。Mybatis提供了多种动态SQL标签,如if, choose, when, otherwise, foreach等,这些标签可以让我们根据不同的条件生成不同的SQL语句。
知识点七:Mybatis的缓存机制
Mybatis提供了强大的缓存机制,包括一级缓存和二级缓存。一级缓存是SqlSession级别的缓存,二级缓存是mapper级别的缓存。Mybatis通过cache标签和cache-ref标签来配置缓存,通过Cache接口来实现自定义的缓存策略。
知识点八:Mybatis的插件机制
Mybatis提供了强大的插件机制,通过插件,我们可以拦截Executor, ParameterHandler, ResultSetHandler, StatementHandler四个对象的接口方法,实现自定义的SQL监控,日志记录,性能分析等功能。Mybatis通过plugin标签来配置插件。
以上就是对"读书笔记:Mybatis从入门到精通"的基本知识点的概括。希望对你有所帮助。
九转成圣
- 粉丝: 5794
- 资源: 2959
最新资源
- NLPModels.jl:优化模型的数据结构
- core:WordPress付款处理库的核心组件
- Hospital-in-C:使用C编程语言编写的完整医院管理系统
- OpenXenium:OpenXenium-原始Xbox的开源Xenium Modchip CPLD替换项目
- 三旺 NP312串口服务器驱动程序.rar
- joplin-cli-snap:乔普林终端应用程序(和Web剪辑服务器)的按扣包装
- ProtoGen.zip
- dotfiles::sparkling_heart:我可爱的增压点〜
- 广西壮族自治区森林覆盖率.rar
- 易语言移动网页元素
- 2,c语言鼠标连点器源码,c语言程序
- tbt:这是一个土巴兔项目演示上传或是入门二进制和发送发布
- crux-themes-5.0.2.zip
- wap-my-lab-page:WAP实验室项目
- 基于DSP28335 开发板实现SD_FAT_GreatDir的电路方案设计(pcb+原理图+源码)-电路方案
- 易语言移植的APC注入