这一篇是Mybatis的介绍。
早在2014年实习就已经使用了Mybatis,毕业之后的第一个项目也是使用的Mybatis,中间几年没有使用。但是到现在2020年了,对Mybatis的了解也仅限于会用,所以趁现在意识到自己的不足,静下来好好的重学一遍Mybatis,正好把这个小一点的框架当作我读源码的第一步。
首先,什么是Mybatis?
Mybatis是一个持久层(持久化:将程序的数据在持久状态和瞬时状态转化的过程)的框架,经常听说项目使用SSM,这里面的M就是Mybatis。它支持定制化 SQL、存储过程以及高级映射。可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
Mybatis的优缺点?
优点:
- 简单易学
- 灵活
- 解除sql与程序代码的耦合,sql和代码的分离,提高了可维护性。
- 提供映射标签,支持对象与数据库的orm字段关系映射
- 提供对象关系映射标签,支持对象关系组建维护
- 提供xml标签,支持编写动态sql。
缺点:
- 编写SQL语句时工作量很大,尤其是字段多、关联表多时,更是如此。
- SQL语句依赖于数据库,导致数据库移植性差,不能更换数据库。
- 二级缓存机制不佳
怎么安装Mybatis?
如果是maven项目,只需要再pom文件中引入Mybatis的配置文件
https://mvnrepository.com/artifact/org.mybatis/mybatis/3.5.6
<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.6</version> </dependency>
不是maven项目,也是简单的将jar包放入classpath中。
分类:
Mybatis
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?