2025/12/7

news/2025/12/3 19:01:17/文章来源:https://www.cnblogs.com/cyjcyjcyj/p/19303637

2025/12/7

MyBatis 是一个 Java 持久层框架(专门帮你操作数据库的工具),它封装了 JDBC 的繁琐细节(比如手动写连接、处理结果集),让你只需要关注 SQL 语句本身,不用操心连接建立、资源关闭等重复工作。
简单说:MyBatis = 简化版的 JDBC + 更灵活的 SQL 管理,是实际开发中替代原生 JDBC 的主流选择。

MyBatis 的核心作用(解决什么问题)
你之前用 JDBC 写 CRUD 时,是不是觉得有这些麻烦?MyBatis 就是来解决这些问题的:
不用手动写 Connection、PreparedStatement、ResultSet 的创建和关闭;
不用手动把查询结果集(ResultSet)的字段映射到 Java 对象(比如把 id、username 对应到 User 类的属性);
不用在 Java 代码里硬写 SQL(可以把 SQL 放到单独的 XML 文件或注解里,方便维护);
自动处理参数绑定(不用手动 setString(1, username),直接传 Java 对象即可)。

MyBatis 和你之前学的 JDBC 对比(直观感受优势)
用 “查询所有用户” 这个功能,对比两者的代码差异,你就能明显感受到 MyBatis 的简洁:
对比维度 原生 JDBC(你之前写的代码) MyBatis 实现方式
连接管理 手动写 DriverManager.getConnection(),还要关连接 配置文件里写数据库信息,MyBatis 自动管理连接
SQL 位置 硬写在 Java 代码里(字符串) 写在 XML 文件或注解里,和 Java 代码分离
参数绑定 手动 pstmt.setString(1, username)(容易出错) 直接传 Java 对象,MyBatis 自动对应 ? 占位符
结果映射 手动 rs.getInt("id")、rs.getString("username") MyBatis 自动把结果集映射到 User 对象列表
代码量 多(重复的连接、关闭、映射代码) 少(只需要定义接口和 SQL)

MyBatis 的核心用法
MyBatis 的核心是 “接口 + SQL 映射”,步骤比 JDBC 更简洁,以 “查询所有用户” 为例:

  1. 第一步:定义 Java 实体类(和数据库表对应)
    java
    运行
    // User 类(对应数据库的 user 表)
    public class User {
    private Integer id;
    private String username;
    private Integer age;
    private String email;

    // getter、setter 方法(必须有,MyBatis 要通过它赋值)
    // toString 方法(方便打印)
    }

  2. 第二步:定义 Mapper 接口(相当于 DAO 层,声明操作方法)
    java
    运行
    // UserMapper 接口(不用写实现类,MyBatis 自动生成)
    public interface UserMapper {
    // 注解方式写 SQL(简单 SQL 用注解,复杂 SQL 用 XML)
    @Select("SELECT id, username, age, email FROM user")
    List findAll(); // 声明查询所有用户的方法
    }

  3. 第三步:配置 MyBatis(核心配置文件,告诉 MyBatis 数据库信息)
    创建 mybatis-config.xml(放在 resources 目录下):
    xml

<!-- 告诉 MyBatis 哪里有 Mapper 接口 -->
<mappers><mapper class="com.example.mapper.UserMapper"/>
</mappers>
4. 第四步:执行查询(使用 MyBatis 核心 API) java 运行 public class MyBatisDemo {public static void main(String[] args) throws IOException {// 1. 加载 MyBatis 配置文件InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
    // 2. 创建 SqlSessionFactory(MyBatis 核心工厂)SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);// 3. 获取 SqlSession(相当于 JDBC 的 Connection,用于执行 SQL)SqlSession session = factory.openSession();// 4. 获取 Mapper 接口的代理对象(MyBatis 自动生成实现类)UserMapper userMapper = session.getMapper(UserMapper.class);// 5. 执行查询(直接调用接口方法,MyBatis 自动执行 SQL 并映射结果)List<User> userList = userMapper.findAll();// 6. 打印结果(不用手动处理 ResultSet)for (User user : userList) {System.out.println(user);}// 7. 关闭资源(比 JDBC 简洁)session.close();is.close();
}

}

MyBatis 的核心特点(为什么实际开发都用它)
SQL 灵活:不像 JPA 等框架会自动生成 SQL,MyBatis 允许你手动写 SQL,适合复杂查询场景;
低侵入性:不需要让实体类继承特定父类或实现特定接口,只需要普通 Java 类;
简化开发:自动完成 “参数绑定” 和 “结果映射”,减少重复代码;
易于维护:SQL 可以集中管理在 XML 文件中,方便优化和修改。
总结
MyBatis 是 JDBC 的增强工具,核心是 “简化数据库操作,让开发者专注 SQL”;
相比 JDBC,它解决了 “连接管理、结果映射、参数绑定” 等繁琐工作,代码更简洁;
核心用法是 “Mapper 接口 + SQL 映射(注解 / XML)”,配置简单,容易上手。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/985910.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025配件包装机老牌厂家TOP5权威推荐:资深厂商甄选指南

在制造业自动化转型浪潮下,企业对高效、精准的配件包装设备需求激增。2024年数据显示,国内配件包装机市场规模突破120亿元,年增速达32%,但31%的企业反馈曾遭遇计数不准导致退货设备频繁故障停线等痛点——某五金企…

【2025最新】上海顶级餐厅指南:5家兼具创意与格调的高档食府

【2025最新】上海顶级餐厅指南:5家兼具创意与格调的高档食府在上海,高端餐饮从不是单纯的味觉填充,而是食材、美学与生活态度的融合。无论是隐于繁华的禅意素宴,还是老洋房里的跨界料理,都藏着对“吃”的极致追求…

防雨箱品牌推荐榜,充电桩防雨箱/开关防雨箱/监控防雨箱/防雨箱盖/不锈钢防雨箱供应厂家排行

随着智慧城市、智能交通、新能源等领域的快速发展,户外电子设备与精密仪器的防护需求日益凸显。防雨箱作为保障设备在复杂气候条件下稳定运行的关键部件,其品质直接关系到整个系统的可靠性与使用寿命。面对市场上众多…

基于整数MCU的FOC电机控制深度解析:从浮点到定点的工程实践 - 实践

基于整数MCU的FOC电机控制深度解析:从浮点到定点的工程实践 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: &quo…

2025年12月京东e卡兑换,高口碑回收平台:实测费率与安全交易解析!

2025年12月京东e卡兑换,高口碑回收平台:实测费率与安全交易解析!在2025年12月,如果你手中有闲置的京东e卡,想要将其兑换成现金,选择一个靠谱的回收平台至关重要。长沙京尔网络科技有限公司研发的京尔回收平台,就…

海泡石哪家质量好?哪家技术实力强?求推荐

工业原料领域中,海泡石作为兼具保温防火、吸附催化等多元性能的矿物,市场需求年增速超15%,但62%的客户投诉集中在纯度不达标、批次稳定性差、技术支持缺失三大痛点——某环保企业曾因采购低价海泡石粉导致废水处理不…

助听器验配中心推荐哪家好?2025年4大甄选维度+5家优质机构测评,避坑指南

助听器验配中心推荐哪家好?2025年4大甄选维度+5家优质机构测评,避坑指南一、先搞懂:为什么 “选对验配中心” 比 “选对助听器” 更关键? 中国老龄协会 2024 年《老年听力健康白皮书》显示,我国60 岁以上人群听力…

2025年12月京东e卡兑换,正规回收公司盘点:安全靠谱品牌红榜发布!

2025年12月京东e卡兑换,正规回收公司盘点:安全靠谱品牌红榜发布!在当今数字化时代,各类卡券的使用愈发普及,京东e卡作为电商卡中的热门选择,深受消费者喜爱。然而,有时候我们会因为各种原因,需要将手中的京东e…

Day54(24)-F:\硕士阶段\Java\课程代码\后端\web-ai-code\web-ai-project03

Maven高级 分模块设计与开发继承与聚合<packaging>pom</packaging><!--父工程--><parent><groupId>com.itheima</groupId><artifactId>tlias-parent</artifactId><…

2025年12月收京东e卡,高价回收平台盘点:权威测评+靠谱交易攻略!

2025年12月收京东e卡,高价回收平台盘点:权威测评+靠谱交易攻略!在当今数字化消费的时代,各种充值卡券成为了人们生活中常见的消费方式。其中,京东e卡因其广泛的使用范围和便捷性,受到了众多消费者的青睐。然而,…

实力与口碑兼具:美国移民品牌企业推荐

在当今全球化的时代,美国移民成为了许多人实现海外发展梦想的重要途径。然而,面对众多的美国移民品牌企业,如何选择一家实力强、口碑不错的机构成为了困扰大家的难题。接下来,为大家深入剖析美国移民行业的相关情况…

深聊口碑不错的美国移民企业,看看哪家实力强

在当今全球化的时代,美国移民成为众多家庭海外发展的热门选择。然而,移民路途充满挑战,选择一家靠谱且性价比高的移民企业至关重要。那么,有哪些口碑不错、具备高性价比的美国移民企业呢?接下来为您详细解读。 美…

北京专业打离婚官司的律所推荐与服务特点解析

在家庭关系的调整过程中,离婚诉讼常常涉及财产分割、子女抚养等复杂问题,对法律服务的专业性要求较高。北京地区有不少专注于婚姻家事领域的律所,它们凭借在相关业务上的深入研究和实践经验,为当事人提供针对性的法…

12/3dididididi

12/3dididididibegin

哪家无人机培训机构可以考证?行业机构选择参考

随着无人机技术在航拍、农业、测绘、物流等领域的广泛应用,无人机操作技能的专业性要求日益提高,考取相应的无人机驾驶证成为许多从业者和爱好者的必要选择。选择一家正规、专业的培训机构,不仅能系统学习理论与实操…

第七天敏捷冲刺

第七天敏捷冲刺(Alpha阶段收尾日) 一、作业基本信息这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience/这个作业的要求在哪里 https://edu.cnblogs.com/campus/gdgy/Class34…

北京婚姻律师事务所推荐:聚焦婚姻家事法律服务的专业机构参考

婚姻家事法律事务涵盖离婚纠纷、子女抚养、财产分割等多个维度,其专业性和复杂性要求当事人在选择法律服务机构时,优先考虑具备丰富实务经验和专注领域的机构。以下结合北京地区婚姻家事法律服务领域的实际情况,为关…

PLC编程培训哪家费用优惠?多家机构实力对比

随着工业自动化的快速发展,PLC编程技能成为许多技术岗位的重要需求,越来越多人关注PLC编程培训的费用与性价比。选择合适的培训机构不仅能提升学习效率,还能在成本控制上更具优势,以下为大家整理了几家在PLC编程培…

vscode正则匹配

1、搜索正则匹配表达式 https://sqs\.([a-z0-9\-]+)\.amazonaws\.com/(\d+)/([^/"]+) 2、替换正则匹配表达式 https://sqs.us-east-2.amazonaws.com/761547157465/aliyun-saas-$3 题外:使用正则表达式筛选账户ID…

团队博客 5:“租易 - 快捷租房管理小程序” Beta 阶段计划与改进方案

经过 Alpha 阶段的打磨与 Postmortem 复盘,我们明确了 “聚焦核心功能闭环、提升系统稳定性、验证用户体验” 的 Beta 阶段核心目标。结合团队成员调整(Beta 阶段精简为 3 人,移除 Alpha 阶段后端开发何绍斌,剩余成…