Mybatis及Plus

一,概念

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.Driver

3  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;

}

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.");
        }
    }

}

三,其他细节

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值