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

在SpringBoot中整合Mybatis框架

1.导入依赖:

<dependencies>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>3.0.4</version>
        </dependency>
<!--        mysql驱动包     -->
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
<!--        单元测试-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter-test</artifactId>
            <version>3.0.4</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
    </dependencies>

2.配置SpringBoot的配置文件:

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


3.编写实体类:

package com.example.bean;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.sql.Struct;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private Integer id;
    private String name;
    private Short age;
    private Short gender;
    private String phone;
}

4.编写mapper层(这里以注解的形式注入):

package com.example.mapper;

import com.example.bean.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

//在运行时,会自动生成实现类的对象(代理对象,并将对象交给IOC容器)
@Mapper
public interface UserMapper {
    //拆线呢全部用户信息
    @Select("select * from user")
    public List<User> list();
}

5.在测试类中进行测试:

package com.example;

import com.example.bean.User;
import com.example.mapper.UserMapper;
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
class Demo1ApplicationTests {
    @Autowired
    private UserMapper userMapper;

    @Test
    public void test01(){
        List<User> list = userMapper.list();
        list.forEach(System.out::println);

    }

}

http://www.dtcms.com/a/91747.html

相关文章:

  • 实现极限网关(INFINI Gateway)配置动态加载
  • H2S Probe硫化氢荧光探针它可以通过荧光来检测H2S水平
  • Vue如何利用Postman和Axios制作小米商城购物车----简版
  • 在MFC中使用Qt(二):实现Qt文件的自动编译流程
  • 虚拟机Vmware无法连接网络
  • FFmpeg开发学习:AVFormatContext结构体
  • 【大模型基础_毛玉仁】3.4 Prompt 技巧
  • 深度学习四大核心架构:神经网络(NN)、卷积神经网络(CNN)、循环神经网络(RNN)与Transformer全概述
  • C++的IO流
  • hackmyvm-jan
  • 如何在 React 项目中使用React.lazy和Suspense实现组件的懒加载?
  • Linux进程间的通信
  • 如何将3DMax模型转换到Blender?
  • 51单片机
  • 基于代理(http\https\socks)的网络访问逻辑重定义
  • 基于本人的专利设计三角形式的三组定子和中间的分形转子结构
  • 海外营收占比近4成,泡泡玛特全球化战略迎收获期
  • 33.[前端开发-JavaScript基础]Day10-常见事件-鼠标事件-键盘事件-定时器-案例
  • C++ 继承:面向对象编程的核心概念(二)
  • 中文字符计数器,助力所有python对齐业务(DeepSeek代笔)
  • 青藏高原湖泊的数量越来越多
  • Mem0 Prompt优化
  • 从手机到机器人:vivo 凭借用户主义重构科技价值
  • 旋转式花键在哪些工业领域应用较为广泛?
  • wps如何给word加水印
  • 告别AI幻觉:Cursor“知识库”技术实现85%的错误减少
  • word写latex-Mathtype安装成功-方法
  • 练习题:105
  • 电脑上我的windows目录下,什么是可以删除的
  • Xenium | 细胞邻域(Cellular Neighborhood)分析(fixed k-nearest neighbor)