柏竹 柏竹
首页
后端
前端
  • 应用推荐
关于
友链
  • 分类
  • 标签
  • 归档

柏竹

奋斗柏竹
首页
后端
前端
  • 应用推荐
关于
友链
  • 分类
  • 标签
  • 归档
  • Java基础

  • JavaWeb

  • 拓展技术

  • 框架技术

  • 数据库

  • 数据结构

  • Spring

  • SpringMVC

  • SpringBoot

    • SpringBoot
    • SpringBoot3基础特性
    • SpringBoot3核心原理
    • 框架整合

      • SpringBoot SpringMVC 整合
      • SpringBoot JDBC 整合
      • SpringBoot MyBatis 整合
        • MyBatis 整合
      • SpringBoot tk-MyBatis 整合
      • SpringBoot Shiro 整合
      • SpringBoot Redis 整合
      • SpringBoot MyBatisPlus 整合
      • SpringBoot JSON 整合
      • SpringBoot Thymeleaf 整合
      • 整合WebSocket实现聊天功能
    • SpringBoot部署
  • SpringClound

  • Ruoyi-Vue-Plus

  • 后端
  • SpringBoot
  • 框架整合
Bozhu12
2023-06-10
目录

SpringBoot MyBatis 整合

# MyBatis 整合

  1. 引入依赖 pom.xml文件

    <!--mybatis -->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>1.3.2</version>
    </dependency>
    <!--测试-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
    </dependency>
    
  2. 在SpringBoot的 全局属性(application.properties文件) 添加参数

    # mybatis 别名扫描
    mybatis.type-aliases-package=com.pojo
    # mapper.xml文件位置 (使用在有映射的前提)
    mybatis.mapper-locations=classpath:mappers/*.xml
    
  3. 创建 User实体类 (指定库中的表列属性信息)

    package com.pojo;
    
    import javax.persistence.*;
    import java.io.Serializable;
    import java.util.Date;
    
    public class User implements Serializable {
        
        private Long id;
        // 用户名
        private String userName;
        // 密码
        private String password;
        // 姓名
        private String name;
        // 年龄
        private Integer age;
        // 性别,1男性,2女性
        private Integer sex;
        // 出生日期
        private Date birthday;
        
        //省略 get 、 set 和 toString
    }
    

    表列名 和 类属性名 一致,MyBatis不支持 驼峰、下划线 命名方式

  4. 创建 UserMapping接口 ,全限定名 com.mapping.UserMapping

    package com.dao;
    
    import com.pojo.User;
    import java.util.List;
    
    public interface UserMapping {
        List<User> findAll();
    }
    
  5. 创建 UserMapping.xml映射文件

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper
            PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="com.mapping.UserMapping">
    
        <select id="findAll" resultType="user">
            select * from tb_user
        </select>
    
    </mapper>
    
  6. Mapper映射加载 。加载方式有两种

    1. 使用 @Mapping注解 在 UserMapping接口 添加 @Mapper注解 进行识别

      @Mapper
      public interface UserMapper {
          ....
      }
      
    2. 使用 @MapperScan注解 扫描的包 在 @SpringBootApplication注解下的启动类,添加@MapperScan注解 value参数为 扫描的包路径

      package com;
      import org.mybatis.spring.annotation.MapperScan;
      import org.springframework.boot.SpringApplication;
      import org.springframework.boot.autoconfigure.SpringBootApplication;
      
      // 启动类
      @SpringBootApplication
      @MapperScan("com.mapping")
      public class Application {
          public static void main(String[] args) {
              SpringApplication.run(Application.class , args);
          }
      }
      
  7. 测试

    package com.dao;
    
    import junit.framework.TestCase;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.test.context.junit4.SpringRunner;
    
    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class UserDaoTest extends TestCase {
        
        @Autowired
        private UserMapping userMapping;
        
        @Test
        public void findAll() {
             for (User user : userMapping.findAll()) {
                System.out.println(user);
            }
        }
    }
    
#MyBatis

← SpringBoot JDBC 整合 SpringBoot tk-MyBatis 整合→

最近更新
01
HTTPS自动续签
10-21
02
博客搭建-简化版(脚本)
10-20
03
ruoyi-vue-plus-部署篇
07-13
更多文章>
Theme by Vdoing | Copyright © 2019-2024 | 桂ICP备2022009417号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式