MyBatis核心JAR包解析与应用
需积分: 0 77 浏览量
更新于2024-11-14
收藏 3.82MB ZIP 举报
资源摘要信息:"MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。
MyBatis 是一个支持定制化SQL、存储过程以及高级映射的持久层框架。它避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs映射成数据库中的记录。
MyBatis 的核心组件有以下几个:
1. SqlSessionFactoryBuilder:这个类可以被实例化、使用和丢弃,一旦创建了 SqlSessionFactory,就不再需要它了。因此 SqlSessionFactoryBuilder 实例的最佳作用域是方法作用域(也就是局部方法变量)。
2. SqlSessionFactory:一旦被创建就应该在应用的运行期间一直存在,没有任何理由对它进行清除或重建。使用 SqlSessionFactory 的最佳实践是在应用运行期间不要重复创建多次,多次重建 SqlSessionFactory 被视为一种代码“坏味道”(bad smell)。因此 SqlSessionFactory 的最佳作用域是应用作用域。
3. SqlSession:代表和数据库交互的会话,完成必要数据库操作。一旦创建就应该被使用(也就是打开它),使用完毕之后即可关闭。SqlSession 的实例不是线程安全的,因此是不能被共享的,所以它的最佳的作用域是请求或方法作用域。
MyBatis提供了两种主要的配置方式:
1. XML配置文件:这个是MyBatis最传统的方式,通常需要创建一个XML类型的配置文件,然后将所有的SQL语句写在里面。
2. 注解配置:这种方式需要在接口的方法上使用注解来编写SQL语句。
MyBatis的配置项主要有以下几个:
1. configuration(配置):包含对MyBatis系统全局配置的属性。
2. properties(属性):是配置属性。
3. settings(设置):配置一些细节设置。
4. typeAliases(类型别名):为Java类型设置一个短的名字。
5. typeHandlers(类型处理器):用于处理Java类型和数据库中的JDBC类型之间的映射和转换。
6. objectFactory(对象工厂):MyBatis 每次创建结果对象的新实例时,它都会使用一个对象工厂(ObjectFactory)实例来完成。
7. plugins(插件):通过插件来修改MyBatis的核心行为。
8. environments(环境配置):配置MyBatis如何和数据库交互的环境。
9. environment(环境变量):配置数据库交互的环境。
10. transactionManager(事务管理器):MyBatis中用于配置事务管理。
11. dataSource(数据源):配置数据源。
12. mappers(映射器):配置映射器的位置。
MyBatis的映射文件通常包含以下元素:
1. <insert>:用于定义插入操作的映射。
2. <update>:用于定义更新操作的映射。
3. <delete>:用于定义删除操作的映射。
4. <select>:用于定义查询操作的映射。
5. <resultMap>:用于自定义结果集的映射规则。
6. <parameterMap>:用于定义参数映射,目前官方推荐使用<parameterType>。
7. <sql>:用于定义可重用的SQL代码片段。
8. <include>:用于引入在其他地方定义的SQL片段。
MyBatis的使用流程通常包括:
1. 创建数据库连接并配置MyBatis的环境。
2. 通过SqlSessionFactoryBuilder构建SqlSessionFactory。
3. 使用SqlSessionFactory获取SqlSession。
4. 通过SqlSession执行映射的SQL语句。
5. 处理执行结果。
6. 提交或回滚事务。
7. 关闭SqlSession。
MyBatis的优缺点:
优点:
1. 与JDBC相比,减少了50%以上的代码量。
2. MyBatis非常灵活,不会对应用程序或者数据库的现有设计强加任何影响。
3. MyBatis很容易上手,工作量小。
4. MyBatis可以进行更细致的SQL优化,能够完成复杂的查询。
5. MyBatis可以将数据与对象映射成 Java POJOs。
缺点:
1. MyBatis框架需要更多的XML配置文件。
2. MyBatis框架的SQL语句依赖于XML配置文件,如果数据库字段发生变化,则需要修改对应的XML配置文件。
3. MyBatis框架的SQL语句的编写工作量较大,尤其是字段多、关联表多时。
4. MyBatis的调式难度较大,一旦出错,SQL语句和XML配置文件需要同时调试。
5. MyBatis的SQL语句依赖于数据库,导致数据库移植性差。"
点击了解资源详情
点击了解资源详情
点击了解资源详情
2015-05-22 上传
2018-03-16 上传
2017-09-12 上传
2015-02-06 上传
点击了解资源详情
努力奔跑的鱼
- 粉丝: 1336
- 资源: 3
最新资源
- ARSW-FINAL-EXAM2
- Tarea_Sistemas_distribuidos
- 北方交通大学硕士研究生入学考试试题结构力学2006.rar
- hunter
- CortexAnalysis:基于皮质分析的诊断
- UrsineEngine:跨平台游戏引擎,用C ++编写并可通过Python编写脚本
- Zebra_Accordion:jQuery的小手风琴插件-开源
- CipherApp:基本密码应用程序
- test_glassdoor
- abetsunggo.me
- 考试 冬小麦不同水分条件下的产量试验进行了不同水分处
- blobgen:JS库,用于将随机化的剪切路径应用于HTML元素,创建有趣的非矩形形状
- ASAM_OpenDRIVE_BS_V1-6-0_cn.7z
- MyApplication.zip
- 少儿编程Scratch与数学深度融合课程(全套视频资料).rar
- VC++自绘制作weather天气预报界面