【JavaEE进阶】MyBatis入门

目录

🌴前言

🌲什么是MyBatis?

🌳准备工作

🚩创建工程

🚩配置数据库连接字符串

🚩数据准备

🚩编写持久层代码

🍃单元测试


🌴前言

在应⽤分层学习时,我们了解到web应⽤程序⼀般分为三层,即:Controller、Service、Dao.

之前的案例中,请求流程如下:浏览器发起请求,先请求Controller,Controller接收到请求之后,调⽤ Service进⾏业务逻辑处理,Service再调⽤Dao,但是Dao层的数据是Mock的,真实的数据应该从数据库中读取.

我们学习MySQL数据库时,已经学习了JDBC来操作数据库,但是JDBC操作太复杂了

JDBC操作简单回顾:

  • 1. 创建数据库连接池DataSource
  • 2. 通过DataSource获取数据库连接Connection
  • 3. 编写要执⾏带?占位符的SQL语句
  • 4. 通过Connection及SQL创建操作命令对象Statement
  • 5. 替换占位符:指定要替换的数据库字段类型,占位符索引及要替换的值
  • 6. 使⽤Statement执⾏SQL语句
  • 7. 查询操作:返回结果集ResultSet,更新操作:返回更新的数量
  • 8. 处理结果集
  • 9. 释放资源

🌲什么是MyBatis?

MyBatis是⼀款优秀的持久层框架,⽤于简化JDBC的开发。

  • MyBatis本是Apache的⼀个开源项⽬iBatis,2010年这个项⽬由apache迁移到了google code,并且改名为MyBatis。2013年11⽉迁移到Github
  • 官网:MyBatis中文网

在上⾯我提到⼀个词:持久层

  • 持久层:指的就是持久化操作的层,通常指数据访问层(dao),是⽤来操作数据库的.

简单来说MyBatis是更简单完成程序和数据库交互的框架,也就是更简单的操作和读取数据库⼯具

接下来,我们就通过⼀个⼊⻔程序,让⼤家感受⼀下通过Mybatis如何来操作数据库

🌳准备工作

🚩创建工程

创建springboot⼯程,并导⼊mybatis的起步依赖、mysql的驱动包

这里只演示导入mybatis的起步依赖、mysql的驱动包。不会创建springboot的小伙伴参考博主写的 【JavaEE进阶】第一个Spring Boot程序_java ee boot-优快云博客

项⽬⼯程创建完成后,⾃动在pom.xml⽂件中,导⼊Mybatis依赖和MySQL驱动依赖

此时运行项目的话就会报错:

只要把pom文件中关于mybatis的依赖注释掉,就可以运行,此处不在展示

我们在添加完mybatis依赖之后,需要进行数据库的配置

🚩配置数据库连接字符串

Mybatis中要连接数据库,需要数据库相关参数配置

  • MySQL驱动类
  • 登录名
  • 密码
  • 数据库连接字符串

application.yml配置文件如下:

🚩数据准备

创建用户表,并创建对应的实体类User

创建userinof表如下

当前已经创建好了一张表,若想做查询操作,那么查询出来需要放到一个对象中,那么就需要创建对应的实体类UserInfo

由于数据库单词之间采用蛇形,而java单词之间喜欢采用驼峰,所以这里我们进行一个简单的转换。其他实体类的属性名与表中的字段名⼀⼀对应

代码:

🚩编写持久层代码

我们通过mybatis来实现:select * from userinfo;

在项⽬中,创建持久层接⼝UserInfoMapper

我们在该接口中提供一个方法,希望用它来完成上述sql语句的查询

代码:

Mybatis的持久层接⼝规范⼀般都叫XxxMapper

@Mapper注解:表⽰是MyBatis中的Mapper接⼝

  • 程序运⾏时,框架会⾃动⽣成接⼝的实现类对象(代理对象),并给交Spring的IOC容器管理
  • @Select注解:代表的就是select查询,也就是注解对应⽅法的具体实现内容.

🍃单元测试

我们需要测试哪一个方法,就在该方法范围中直接生成测试代码即可。

第一步:在{}范围内点击右键

第二步:

第三步:

第四步:勾选你需要生成测试的方法(当前只有写了这一个方法),点击OK即可

此时就会在Test文件中,生成测试类:测试类上添加了注解@SpringBootTest,该测试类在运⾏时,就会⾃动加载Spring的运⾏环境.我们通过@Autowired这个注解,注⼊我们要测试的类,就可以开始进⾏测试了需要加上@SpringBootTest注解

编写测试代码:

运行结果:

总结:Mybatis操作步骤

  • 1. 引入依赖(mybatis/mysql)
  • 2. 配置数据库相关信息
  • 3. 数据准备,实体类准备
  • 4. 编写Mapper代码(编写的是接口,@Mapper注解)
  • 5. 编写测试代码(@SpringBootTest注解,测试哪个类的方法就注入哪个是类)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值