SpringBoot+MyBatista+MySql+application.yml配置别名映射

SpringBoot+MyBatista+MySql+application.yml配置别名映射

1、创建SpringBoot项目,导入依赖

   <!-- SpringBoot Web -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- SpringBoot 加载配置文件 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
        </dependency>
        <!-- SpringBoot 热加载 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>
        <!-- SpringBoot lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.14</version>
            <scope>provided</scope>
        </dependency>
        <!-- SpringBoot 启动器 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!-- mysql 数据库 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!-- druid 连接 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.10</version>
        </dependency>
        <!-- MyBatis 连接 -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.2</version>
        </dependency>

2、创建数据库表

create table t_user(
userid int primary key auto_increment,
username varchar(30),
userage int,
height double,
address varchar(30)
);

3、idea连接数据库
一:先连接Database
二:选中需要生成POJO的数据库表
三:直接操作3、4步骤生成对应的pojo实体类
在这里插入图片描述
在这里插入图片描述
实体类如下:
(重点需要注意的是数据库字段和实体类名称不一致,在xml文件中无需配置字段一一映射,在后面的 .yml文件中使用简单配置)

package com.testspringboot.bean;
import lombok.Data;
import java.io.Serializable;
//todo 用户信息
@Data
public class TUser implements Serializable {

  private long userId;
  private String userName;
  private long userAge;
  private double height;
  private String address;
}

4、创建mapper包及UserMapper 接口

package com.testspringboot.mapper;
import com.testspringboot.bean.TUser;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;

//todo 用户信息接口
@Mapper
public interface UserMapper {

    List<TUser> findAll();
}

5、在resource文件下新建mapper文件,在mapper文件下创建UserMapper.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.testspringboot.mapper.UserMapper">

    <!-- 查询所有 -->
    <!--  List<TUser> findAll(); -->
    <select id="findAll" resultType="TUser">
        select * from t_user;
    </select>

</mapper>

6、在SpringBootApplication主程序类上加上扫描接口包注解扫描接口包中的接口

@SpringBootApplication
@MapperScan(basePackages = "com.testspringboot.mapper")
public class TestSpringbootApplication {

    public static void main(String[] args) {
        SpringApplication.run(TestSpringbootApplication.class, args);
    }
}

7、创建application.yml文件(配置内容很重要)

# mybatis 配置信息
mybatis:
  mapper-locations: classpath:mapper/*.xml  #扫描mapper文件下所有 .xml文件
  type-aliases-package: com.testspringboot.bean  #配置别名映射
  configuration:
    map-underscore-to-camel-case: true  #驼峰命名

# mysql 配置信息
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql:///test # 东八区时区 ?serverTimezone=UTC
    username: root
    password: 123456
    type: com.alibaba.druid.pool.DruidDataSource

8、选中mapper包中的UserMapper接口,右击 按照数字顺序走就可以,会在test测试包中生成对应的测试类
在这里插入图片描述
在这里插入图片描述

9、给 TestSpringbootApplicationTests 测试主类添加 public关键字

package com.testspringboot;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
public class TestSpringbootApplicationTests {
    @Test
    void contextLoads() {
    }
}

10、UserMapperTest 继承(extends ) TestSpringbootApplicationTests 主测试类

package com.testspringboot.mapper;
import com.testspringboot.TestSpringbootApplicationTests;
import com.testspringboot.bean.TUser;
import org.junit.jupiter.api.Test;
import javax.annotation.Resource;
import java.util.List;

 class UserMapperTest extends TestSpringbootApplicationTests {
    @Resource
    private UserMapper userMapper;
    @Test
    void findAll() {
        List<TUser> userList = userMapper.findAll();
        for (TUser user:userList){
            System.out.println(user);
        }
    }
}

11、先启动 TestSpringbootApplication 主程序类,在启动 TestSpringbootApplicationTests 测试主程序类
结果:

在这里插入图片描述


版权声明:本文为weixin_49588744原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。