首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >javaWeb从入门到进阶(MyBatis)

javaWeb从入门到进阶(MyBatis)

作者头像
北极的代码
发布2026-04-22 19:17:11
发布2026-04-22 19:17:11
500
举报

MyBatis是一款优秀的持久层框架,用于简化JDBC的开发。MyBatis本是Apache的一个开源项目iBatis, 2010年这个项目由apache迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。 官网: https://mybatis.org/mybatis-3/zh/index.html

使用Mybatis查询所有用户数据 1.准备工作(创建springboot工程、数据库表user、实体类User)

2.引入Mybatis的相关依赖,配置Mybatis(数据库的连接信息) 3.编写SQL语句(注解/XML)

第一步准备工作

数据库表和实体类(javabean)

之后在application.properties类中配置数据库连接信息

#驱动类名称 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver #数据库连接的url spring.datasource.url=jdbc:mysql://localhost:3306/mybatis #连接数据库的用户名 spring.datasource.username=root #连接数据库的密码 spring.datasource.password=1234

之后创建接口Mapper

并在前面加上@Mapper,这样在运行时,会自动生成该接口的实现类对象(代理对象),并且将该对象交给IOC容器管理。

在单元测试中,我们要想用这个接口的对象,肯定不能通过new一个接口,但是上面我们通过@Mapper,这样在运行时,会自动生成该接口的实现类对象(代理对象),并且将该对象交给IOC容器管理,已经成为IOC容器中的bean了,在单元测试中,我们可以通过依赖注入的方式把这个bean对象注入进来。

JDBC

JDBC: (Java DataBase Connectivity),就是使用Java语言操作关系型数据库的一套API。

sun公司官方定义的一套操作所有关系型数据库的规范,即接口。 各个数据库厂商去实现这套接口,提供数据库驱动jar包。 我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。

原始的JDBC

1. 开发效率低下
  • 80%的时间在写重复的JDBC模板代码
  • 只有20%的时间在写业务逻辑
2. 代码维护困难
  • SQL分散在Java代码各处
  • 数据库变更需要修改大量文件
  • 难以进行单元测试
3. 容易产生bug
  • 资源泄露(忘记关闭连接)
  • SQL注入漏洞
  • 类型转换错误
  • 事务管理错误
4. 性能瓶颈
  • 频繁创建数据库连接
  • SQL无法预编译和重用
  • 没有缓存机制

尽管有这么多缺点,原始JDBC在以下场景仍有价值:

  1. 性能要求极高的场景:需要精细控制SQL执行
  2. 极简项目:小工具、原型验证
  3. 学习目的:理解底层原理
  4. 特殊数据库操作:存储过程、批量处理等

原始的JDBC就像是"手写汇编语言"操作数据库,虽然灵活但效率低下。MyBatis等框架就像是"高级编程语言",通过封装和抽象,让开发者能更专注于业务逻辑而不是底层细节。

对比

数据库连接池 数据库连接池是个容器,负责分配、管理数据库连接(Connection) 它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个 释放空闲时间超过最大空闲时间的连接,来避免因为没有释放连接而引起的数据库连接遗漏

优势 资源重用 提升系统响应速度 避免数据库连接遗漏

数据库连接池 标准接口:DataSource  官方(sun)提供的数据库连接池接口,由第三方组织实现此接口。 功能:获取连接 Connection getConnection () throws SQLException;

切换Druid数据库连接池 官方地址: https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter <dependency> <groupld>com.alibaba</groupld> <artifactid>druid-spring-boot-starter</artifactid> <version>1.2.8</version> </dependency> pom.xml

lombok

Lombok是一个实用的Java类库,能通过注解的形式自动生成构造器、getter/setter、equals、hashcode、toString等方法,并可以自动化生成日志变量,简化java开发、提高效率。

添加依赖

<dependency> <groupId>org.projectlombok</groupId><artifactId>lombok</artifactId> </dependency>

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-01-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JDBC
  • 1. 开发效率低下
  • 2. 代码维护困难
  • 3. 容易产生bug
  • 4. 性能瓶颈
  • lombok
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档