Spring之路(33)–MyBatis基本介绍与应用场景

简介: 本文目录1. 常用的访问数据库的方式2. MyBatis 应用场景3. MyBatis 基本工作流程

1. 常用的访问数据库的方式

说实话,我就只用过4种:


第1种,自己编写JDBC访问数据库,或者简单的封装下JDBC访问数据库,毫无疑问这种大家应该都写过,但是质量堪忧。因为绝大多数程序员还达不到封装国际知名类库的能力,而后面的方式都是国际知名的。


第2种,使用SpringJDBC,基本还是按JDBC的方式访问数据库,不过将重复代码封装起来了,更加简洁优雅。


第3种,Hibernate,比较全面彻底的ORM封装,想当年我学Java Web开发的时候,最流行的就是SSH(Spring+Struts+Hibernate)。目前应用也很多,在国内国企、传统软件公司用的很多。


第4种,MyBatis,前身是iBatis。相比于Hibernate,ORM封装并没有那么彻底,也就是说还需要写不少sql语句。但是恰恰这顺应了互联网发展的浪潮。互联网公司的项目,往往都面临流量大数据库压力大的困难,而MyBatis可以自由的编写sql语句便于定制、优化sql。所以目前互联网公司采用MyBatis的更多,目前形成了非常流行的SSM(Spring+SpringMVC+MyBatis)。


但是没有最好,只有最合适。非常小的项目可以直接JDBC+Servlet;如果是使用了Spring的话,可以直接用SpringJDBC比原生JDBC更快更方便;如果是比较大一点的项目还是推荐使用Hibernate或者MyBatis,当然我个人是更加推荐MyBatis的,写起来更加爽快,Hibernate我感觉太繁琐了,然后我日常工作也经常需要优化一些sql,从这一点上使用MyBatis也更方便点。


2. MyBatis 应用场景

其实上面已经分析了,可以说只要正儿八经的项目,需要访问数据库的(还有不需要的吗?),都建议使用MyBatis。


3. MyBatis 基本工作流程

执行java方法准备操作数据库

该方法对应元数据中配置的sql语句,此时转而执行sql

执行完成后,根据元数据配置将结果转换为java数据结构。此处描述对象-关系映射的元数据指的是注解或xml

主要工作流程就是这样。

相关文章
|
17天前
|
人工智能 Java API
Java也能快速搭建AI应用?一文带你玩转Spring AI可落地性
Java语言凭借其成熟的生态与解决方案,特别是通过 Spring AI 框架,正迅速成为 AI 应用开发的新选择。本文将探讨如何利用 Spring AI Alibaba 构建在线聊天 AI 应用,并实现对其性能的全面可观测性。
192 13
|
12天前
|
人工智能 Java API
Spring AI与DeepSeek实战一:快速打造智能对话应用
在 AI 技术蓬勃发展的今天,国产大模型DeepSeek凭借其低成本高性能的特点,成为企业智能化转型的热门选择。而Spring AI作为 Java 生态的 AI 集成框架,通过统一API、简化配置等特性,让开发者无需深入底层即可快速调用各类 AI 服务。本文将手把手教你通过spring-ai集成DeepSeek接口实现普通对话与流式对话功能,助力你的Java应用轻松接入 AI 能力!虽然通过Spring AI能够快速完成DeepSeek大模型与。
288 11
|
16天前
|
存储 人工智能 开发框架
Spring AI Alibaba 应用框架挑战赛圆满落幕,恭喜获奖选手
第二届开放原子大赛 Spring AI Alibaba 应用框架挑战赛决赛于 2 月 23 日在北京圆满落幕。
|
12天前
|
人工智能 Java API
Java 也能快速搭建 AI 应用?一文带你玩转 Spring AI 可观测性
Java 也能快速搭建 AI 应用?一文带你玩转 Spring AI 可观测性
|
2月前
|
SQL Java 数据库连接
对Spring、SpringMVC、MyBatis框架的介绍与解释
Spring 框架提供了全面的基础设施支持,Spring MVC 专注于 Web 层的开发,而 MyBatis 则是一个高效的持久层框架。这三个框架结合使用,可以显著提升 Java 企业级应用的开发效率和质量。通过理解它们的核心特性和使用方法,开发者可以更好地构建和维护复杂的应用程序。
139 29
|
14天前
|
人工智能 Java API
Java 也能快速搭建 AI 应用?一文带你玩转 Spring AI 可观测性
Java 也能快速搭建 AI 应用?一文带你玩转 Spring AI 可观测性
|
2月前
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
93 2
|
2月前
|
SQL JavaScript Java
Spring Boot 3 整合 Mybatis-Plus 实现数据权限控制
本文介绍了如何在Spring Boot 3中整合MyBatis-Plus实现数据权限控制,通过使用MyBatis-Plus提供的`DataPermissionInterceptor`插件,在不破坏原有代码结构的基础上实现了细粒度的数据访问控制。文中详细描述了自定义注解`DataScope`的使用方法、`DataPermissionHandler`的具体实现逻辑,以及根据用户的不同角色和部门动态添加SQL片段来限制查询结果。此外,还展示了基于Spring Boot 3和Vue 3构建的前后端分离快速开发框架的实际应用案例,包括项目的核心功能模块如用户管理、角色管理等,并提供Gitee上的开源仓库
400 11
|
3月前
|
人工智能 前端开发 Java
Spring AI Alibaba + 通义千问,开发AI应用如此简单!!!
本文介绍了如何使用Spring AI Alibaba开发一个简单的AI对话应用。通过引入`spring-ai-alibaba-starter`依赖和配置API密钥,结合Spring Boot项目,只需几行代码即可实现与AI模型的交互。具体步骤包括创建Spring Boot项目、编写Controller处理对话请求以及前端页面展示对话内容。此外,文章还介绍了如何通过添加对话记忆功能,使AI能够理解上下文并进行连贯对话。最后,总结了Spring AI为Java开发者带来的便利,简化了AI应用的开发流程。
2200 0
|
3月前
|
XML Java 数据格式
Spring Core核心类库的功能与应用实践分析
【12月更文挑战第1天】大家好,今天我们来聊聊Spring Core这个强大的核心类库。Spring Core作为Spring框架的基础,提供了控制反转(IOC)和依赖注入(DI)等核心功能,以及企业级功能,如JNDI和定时任务等。通过本文,我们将从概述、功能点、背景、业务点、底层原理等多个方面深入剖析Spring Core,并通过多个Java示例展示其应用实践,同时指出对应实践的优缺点。
80 14