当前位置: 首页 > news >正文

MyBatis框架基础学习(1)

目录

一、MyBatis框架介绍。

(1)简化开发。

(2)持久层?

(3)框架的解释!

二、JDBC开发缺点。

(1)硬编码。

(2)操作繁琐。

三、MyBatis框架简化点说明。

(1)“硬编码”部分改为使用配置文件。

​编辑

(2)自动设置SQL参数以及自动封装结果集。


一、MyBatis框架介绍。

(1)简化开发。
  • MyBatis是一个优秀的持久层框架。
  • 它对JDBC的操作数据库的过程进行封装。使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection对象、创建statement对象、手动设置参数、结果集检索等JDBC繁杂的过程代码。

(2)持久层?
  • 负责将数据保存到数据库的那一层代码。(每个部分的代码—>职责单一
  • JavaEE(企业级开发)中的常见四层架构:表现层(页面)、控制层(controller)、业务层(service)、持久层(mapper)。

(3)框架的解释!
  • 框架就是一个半成品软件。是一套可重用的、通用的、软件基础代码模型。
  • “半成品”也就是程序员拿到后,还可以继续编写代码,然后变成“完整”的软件。

  • 这样的开发模式:框架的基础之上构建软件编写更加高效、规范、通用、可扩展性高。
  • 如spring、springboot、mybatis-plus(升级版)等等很多都是框架。使用框架开发,做少量的工作就能完成一个稍加复杂的软件产品。
  • 当然每一个框架都是有自己解决的方向。就如MyBatis框架就是专门用来解决持久层的。其他的如表现层(Vue、element-ui)、控制层与业务层(spring、springboot)等等很多。

二、JDBC开发缺点。

(1)硬编码。
  • 注册驱动(Driver)与获取连接对象(Connection)在JDBC编码中很常见。
  • 通常会直接写很多的字符串,而这些字符串就叫“硬编码”。将字符串的信息写到代码中,而这些字符串信息将来可能会出现变动!而改动就需要重新编译、运行、打包、部署等等。(代码维护性差
  • 注:2025年注册驱动使用的全类名是:com.mysql.cj.jdbc.Driver


(2)操作繁琐。
  • 手动设置参数代码比较繁琐。当SQL语句中的问号多时,手动setter方法需要编写很多!
  • 手动封装结果集的代码繁琐。

三、MyBatis框架简化点说明。

(1)“硬编码”部分改为使用配置文件。
  • 数据库信息配置文件。
  • MyBatis的主配置文件。

  • 将SQL语句“提取”到.xml文件中。


(2)自动设置SQL参数以及自动封装结果集。
  • 因为此地方是查询所有用户,则无参数传递。
  • 使用方法selectList()代替JDBC中的执行指定方法传参、封装结果集等繁琐操作。


  • MyBatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作!
http://www.lryc.cn/news/526738.html

相关文章:

  • arm-linux平台、rk3288 SDL移植
  • 51单片机入门_01_单片机(MCU)概述(使用STC89C52芯片)
  • 基础项目——扫雷(c++)
  • docker安装elk6.7.1-搜集java日志
  • 自然语言处理(NLP)入门:基础概念与应用场景
  • AI News(1/21/2025):OpenAI 安全疏忽:ChatGPT漏洞引发DDoS风险/OpenAI 代理工具即将发布
  • Linux——包源管理工具
  • C++解决走迷宫问题:DFS、BFS算法应用
  • 机器学习09-Pytorch功能拆解
  • BLE透传方案,IoT短距无线通信的“中坚力量”
  • Linux 中的poll、select和epoll有什么区别?
  • 单片机-STM32 WIFI模块--ESP8266 (十二)
  • linux日志排查相关命令
  • 每日一题-二叉搜索树与双向链表
  • 【多视图学习】Self-Weighted Contrastive Fusion for Deep Multi-View Clustering
  • ASK-HAR:多尺度特征提取的深度学习模型
  • C语言:数据的存储
  • 深入理解动态规划(dp)--(提前要对dfs有了解)
  • 单片机基础模块学习——数码管(二)
  • 【大数据】机器学习----------强化学习机器学习阶段尾声
  • flink写parquet解决timestamp时间格式字段问题
  • redis实现lamp架构缓存
  • 正则表达式中常见的贪婪词
  • CF 339A.Helpful Maths(Java实现)
  • SQL 指南
  • DDD架构实战第七讲总结:分层模型和代码组织
  • Python “字典” 实战案例:5个项目开发实例
  • (一)QT的简介与环境配置WIN11
  • 在 Windows 系统上,将 Ubuntu 从 C 盘 迁移到 D 盘
  • vue2的$el.querySelector在vue3中怎么写