Mybatis01__Mybatis简介
一、Mybatis简介
1、MyBatis;和数据库进行交互;持久化层框架(SQL映射框架)
1、从原始的JDBC----dbutils(QueryRunner)-------JdbcTemplate----xxx;这些与数据库进行交互的工作单元称为工具.
工具:一些功能的简单封装.
框架:某个领域的整体解决方案;缓存,考虑异常处理问题,考虑部分字段映射问题.
2、不使用原生JDBC的原因
1、麻烦.(注册驱动-获取连接-书写sql语句--获得sql语句执行者statement对象--封装结果).
2、sql语句是硬编码在程序中的;耦合(数据库层的代码和java代码耦合).
2、Hibernate-数据库交互的ORM框架(ORM:Object Relation Mapping 对象关系映射) Hbiernate是全自动框架
1、创建好javaBean,然后使用注解实现映射,然后获取对象.
1 2 3 4 5 6 | @Table ( "t_employee" ) class Employee{ private Integer empId; private String empName; } session.get( "1" ,Employe. class ); |
2、 Hibernate缺点:
1、定制sql,(SQL语句是非常关键的,我们往往希望自己写SQL,例如很多表之间的关联查询,我们只需要很少的一些字段,如果交给Hibernate去做,它没有那么智能,会去查询很多表,对数据库的负担很大).
2、HQL,(虽然Hibernate有自己特有的SQL语法HQL,但是我们要熟悉另外的一门SQL会加大学习成本,学习难度高).
3、全映射框架,部分字段映射很难;能做.(Hibernate是全映射框架,例如很多表之间的关联查询,我们只需要很少的一些字段,如果交给Hibernate去做,它没有那么智能,会去查询很多表,并且把表中所有的数据都查询出来,对数据库的负担很大,它也可以实现部分字段映射,但是你要知道Hibernate的底层原理,以及工作机制,学习难度很大).
3、通过总结传统的框架和Hibernate全自动框架的优缺点,我们迫切的需要一款框架满足如下要求
1、将重要的步骤(SQL语句)抽取出来,使得SQL和java代码解耦合,也便于后期的维护.
2、重要的步骤可以人工定制,其它步骤自动化.
3、完全解决数据库的优化问题.
4、为了解决上述问题Mybatis就应运而生了
1、 Mybatis是一个轻量级的框架.
2、 Mybatis底层就是对原生JDBC的一个简单封装.
3、 既将java代码和sql语句分离出来了,还保留了自动化的功能,属于半自动化的持久层框架.

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?