Mybatis核心知识详解:从原生到Mapper,48页精华
版权申诉
148 浏览量
更新于2024-07-03
收藏 241KB DOCX 举报
"这篇资料详细介绍了Mybatis框架的基础知识,包括框架的概述、配置文件、使用准备、原生与接口方式的增删改查、核心对象、对象入参、核心配置文件、SQL映射文件、动态SQL、逆向工程以及关联查询等关键点。"
一、概述
Mybatis是一个用于简化数据库操作的Java持久层框架,它取代了传统的JDBC技术,虽然底层仍然基于JDBC,但Mybatis提供了一层抽象,使得开发者能够更专注于SQL和业务逻辑。框架的引入可以提升开发效率,避免JDBC带来的繁琐资源管理,如连接和Statement对象的创建与释放,同时解决了SQL硬编码和SQL注入等问题。
二、配置文件
1. 核心配置文件(mybatis-config.xml)是Mybatis的全局配置,包含了数据库连接、缓存配置、插件、环境等信息。
2. SQL映射文件(如UserMapper.xml)是针对特定表的操作定义,包含各种CRUD操作的SQL语句。
三、准备
在使用Mybatis时,需要加载核心配置文件,并可选择性地配置日志系统,如log4j.properties。
四、原生方式增删改查
原生方式下,通过SqlSessionFactory创建SqlSession对象进行数据操作。不自动提交事务时,需要手动调用commit()方法提交;开启自动提交时,事务会在操作完成后自动提交。
五、接口方式增删改查
接口方式更符合面向对象编程思想,通过定义接口,Mybatis会自动将SQL语句与接口方法绑定,简化了操作。
六、三大核心对象
1. SqlSessionFactoryBuilder:构建SqlSessionFactory的工具类。
2. SqlSessionFactory:工厂类,用于创建SqlSession对象,是Mybatis的核心。
3. SqlSession:代表一次数据库会话,可以执行SQL并获取结果。
七、对象入参
Mybatis支持传入Java对象作为参数,通过注解或XML配置与SQL语句的参数进行映射。
八、Mybatis核心配置文件
1. `<properties>`:加载外部属性文件,如数据库连接信息。
2. `<settings>`:全局设置,如缓存、映射文件、日志等。
3. `<typeAliases>`:类型别名,简化类名引用。
4. `<plugins>`:插件配置,可以拦截SqlSession的方法增强功能。
5. `<environments>`:配置数据库环境,包括数据源和事务管理器。
6. `<mappers>`:映射文件的路径配置。
九、SQL映射文件
1. `<mapper>`:根标签,定义映射文件。
2. `<resultMap>`:结果映射,用于复杂查询结果的字段与Java对象的对应。
3. `<insert>`:插入操作。
4. `<sql>`:可重用的SQL片段。
十、动态SQL
Mybatis提供了条件判断、循环、如果等动态SQL元素,使得SQL语句可以根据Java对象的状态动态生成。
十一、逆向工程
逆向工程可以从数据库自动生成对应的Java实体类、Mapper接口和XML映射文件,简化开发工作。
十二、关联查询
Mybatis支持一对一、一对多、多对一等关联查询,通过<association>、<collection>等标签实现。
通过这些知识点,开发者可以全面理解和熟练使用Mybatis框架,提高开发效率,减少代码冗余,同时确保数据操作的安全性和准确性。
2020-08-27 上传
2023-03-30 上传
2023-05-05 上传
2023-06-08 上传
2023-06-06 上传
2023-09-01 上传
2023-08-04 上传
2023-05-15 上传
LF3_
- 粉丝: 51
- 资源: 36
最新资源
- JDK 17 Linux版本压缩包解压与安装指南
- C++/Qt飞行模拟器教员控制台系统源码发布
- TensorFlow深度学习实践:CNN在MNIST数据集上的应用
- 鸿蒙驱动HCIA资料整理-培训教材与开发者指南
- 凯撒Java版SaaS OA协同办公软件v2.0特性解析
- AutoCAD二次开发中文指南下载 - C#编程深入解析
- C语言冒泡排序算法实现详解
- Pointofix截屏:轻松实现高效截图体验
- Matlab实现SVM数据分类与预测教程
- 基于JSP+SQL的网站流量统计管理系统设计与实现
- C语言实现删除字符中重复项的方法与技巧
- e-sqlcipher.dll动态链接库的作用与应用
- 浙江工业大学自考网站开发与继续教育官网模板设计
- STM32 103C8T6 OLED 显示程序实现指南
- 高效压缩技术:删除重复字符压缩包
- JSP+SQL智能交通管理系统:违章处理与交通效率提升