一,概念
MyBatis的作用是实现在springboot项目内操控数据库
MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。
MyBatis 可以通过简单的XML/注解来配置和映射原始类型、接口和 Java POJO
(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录
二,基于springboot实现
0 导入mybatis依赖
1 准备数据 准备好数据库需被操作的数据库及数据表
2 连接数据库 连接 数据库springboot项目
3 pojo类 映射被操作的数据表(实体类)
4 mapper类 编写具体的操作数据库方法
5 启动测试类 调用Mapper写好的方法,实现操作数据库
mapper结构
package com.it.mbsd.Mapper; 声明数据访问接口类 public interface PlayerMapper { // 编写mapper方法 }
0 依赖导入
<!-- MyBatis Spring Boot启动器 --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>3.0.2</version> <!-- 与Spring Boot 3.x兼容 --> </dependency> <!-- MySQL驱动 --> <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <scope>runtime</scope> <!-- 运行时依赖 --> </dependency> <!-- Lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.26</version> <optional>true</optional> <!-- 不传递依赖 --> </dependency>1 数据库表准备 // MySQL80 test
CREATE TABLE player ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, age INT, attack INT, defence INT ); INSERT INTO player (name, age, attack, defence) VALUES ('战士', 25, 80, 60), ('法师', 22, 95, 30), ('弓箭手', 20, 70, 50), ('刺客', 24, 85, 40), ('坦克', 28, 50, 90);2 连接数据库
在resources/application.yml内配置 // 点击左边数据库图标连接
# 连接池配置 spring: datasource: type: com.alibaba.druid.pool.DruidDataSource druid: url: jdbc:mysql:///test username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver3 pojo类
package com.it.mbsd.pojo; @Data //为类中的属性提供get方法,set方法和tostring方法 @NoArgsConstructor //提供无参构造 @AllArgsConstructor //提供全参构造 public class Player { private Integer id; private String name; private Short age; private Integer attack; private Integer defence; }4 mapper类
package com.it.mbsd.Mapper; @Mapper // 声明这是数据访问接口类 public interface PlayerMapper { // 编写mapper方法 @Select("select * from player where id = #{id}") public Player getPlayerById(Integer id); }
测试
在test包下的默认测试类xxxApplicationTests内编写测试方法,点击方法启动按钮测试运行
import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import java.util.List; @SpringBootTest public class MbsdApplicationTests { @Autowired private PlayerMapper playerMapper; @Test public void getPlayerById() { Player player = playerMapper.getPlayerById(1); if (player != null) { System.out.println("Player Info:"); System.out.println("ID: " + player.getId()); System.out.println("Name: " + player.getName()); System.out.println("Age: " + player.getAge()); System.out.println("Attack: " + player.getAttack()); System.out.println("Defence: " + player.getDefence()); } else { System.out.println("Player with ID 1 not found."); } } }


最低0.47元/天 解锁文章
491

被折叠的 条评论
为什么被折叠?



