MyBatis

本文详细介绍了MyBatis的定义、使用原因及其优势,包括减少JDBC代码量、良好的数据库兼容性及与Spring的集成。同时,也讨论了MyBatis的不足,如SQL编写工作量大且数据库移植性差。文章通过一个Hello World实例展示了MyBatis的基本用法,并探讨了#{}和${}的区别、动态SQL的用途和执行原理。此外,还阐述了MyBatis作为半自动ORM框架与全自动框架的区别,并解释了Mapper接口调用的要求以及一级、二级缓存的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、什么是MyBatis?  

1.MyBatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC。开发时只需关注SQL本身。不需要花费精力去加载驱动、创建连接、创建statementd等繁杂的过程。程序猿直接编写原生态SQL。可以严格控制SQL执行性能,灵活度高。

2.MyBatis可以使用XML和注解方式来配置和映射原生信息,将POJO映射成数据库中的记录,避免了几乎所有的JDBC代码和手动设置参数以及获取结果集

3.通过XML文件或注解的方式要执行的各种statementd配置起来,并通过Java对象和starementdz中的动态参数进行映射生成最终执行的SQL语句。最后由MyBatis执行SQL并将结果映射为Java对象返回。(从执行SQL到result的过程)

二、为什么要使用MyBatis?MyBatis的优势在哪里?

1.基于SQL语句编程,相当灵活,不会对应用程序或者数据库现有设计造成任何影响,SQL写在XML里面。解除SQL与代码的耦合,便于统一管理;提供XML标签,支持编写动态SQL语句,并可重用

2.与JDBC相比,减少了50%的以上的代码量,消除了JDBC大量的冗余代码,不需要手动开关连接

3.很好的与数据库兼容,只要支持JDBC支持的数据库,MaBatis都支持。(MyBtis使用JDBC连接数据库)

4.能够与Spring很好的集成

5.提供映射标签,支持对象与数据库的ORM字段映射关系,提供对象关系映射标签,支持对象关系组件支持

三、MyBatis的弊端又是什么?

1.SQL语句编写工作量较大,尤其字段较多的情况下、关联表多,对开发人员的编写SQL语句的功底有一定要求。

2.SQL语句依赖数据库,导致数据库移植性差,不能随意更换数据库。(在数据库确定的情况下使用Mybatis效果是非常好的,如果不确定建议先使用hibernate)

四、MyBatis第一个Hello World

搭建环境——导入依赖——代码编写——接口测试

项目结构:

数据库如下: 

 

配置文件:

#端口号
server.port=8888
#数据库账号
spring.datasource.username=root
#数据库密码
spring.datasource.password=root
#连接哪个数据库
spring.datasource.url=jdbc:mysql://localhost:3306/join
#数据驱动 数据库驱动错误把cj删掉或导入时间分区
spring.datasource.driver-class-name=com.my
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值