Springboot整合Mybatis

目录

      • 1.导包
      • 2.项目的目录结构 + 写配置(yml)+ Mapper扫描注解@MapperScan
        • 2.1 项目目录结构 domain query mapper service controller
        • 2.2 核心配置文件yml (数据源四大金刚 扫描别名和扫描文件路径)
        • 2.3 启动类加@MapperScan扫描
      • 3.测试

1.导包

导入mybatis核心包(mysql+jdbc)、Mybatis提供的SpringBoot依赖包、SpringBoot测试包

<dependencies>
        
        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
        dependency>

        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-jdbcartifactId>
        dependency>

        
        <dependency>
            <groupId>org.mybatis.spring.bootgroupId>
            <artifactId>mybatis-spring-boot-starterartifactId>
            <version>1.1.1version>
        dependency>

        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-testartifactId>
        dependency>
    dependencies>

2.项目的目录结构 + 写配置(yml)+ Mapper扫描注解@MapperScan

2.1 项目目录结构 domain query mapper service controller

Springboot整合Mybatis_第1张图片

2.2 核心配置文件yml (数据源四大金刚 扫描别名和扫描文件路径)

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql:///mybatis
    username: root
    password: root

mybatis:
  type-aliases-package: cn.itsource.domain,cn.itsource.query		# 可免除实体类@Component注解
  mapper-locations: classpath:cn/itsource/mapper/*.xml

2.3 启动类加@MapperScan扫描

@SpringBootApplication
@MapperScan("cn.itsource.mapper")
public class SsmApp {
    public static void main(String[] args) {
        SpringApplication.run(SsmApp.class,args);
    }
}

3.测试

表&实体 -> mapper接口+xml实现 -> service -> test -> controller

@RunWith(SpringRunner.class)
@SpringBootTest(classes = SsmApp.class)
public class TestProduct {
    @Autowired
    ProductServiceImpl productService;
    
    @Test
    public void test(){
        productService.loadAll().forEach(a->{
            System.out.println(a);
        });
    }

    @Test
    public void testSave(){
        Product product = new Product("测试数据");
        productService.save(product);

    }
}

注意resource包下不能一次直接建多层包

你可能感兴趣的:(知识点解析,mybatis,spring,boot,java)