Spring Boot MyBatis连接MySQL数据库


SQL部分

CREATE TABLE test(
  id int(10) primary key,
  name varchar(50) not null,
  age int(10),
  address varchar(50)
);

insert into test values(1,'zs',20,'bj');
insert into test values(2,'ls',20,'sh');
insert into test values(3,'ww',20,'bj');

1.application.yml

server:
  port: 8080 # 端口
  servlet:
    context-path: /test # 项目路径

# mysql连接
spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver

# mybatis配置
mybatis:
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: com.example.demo.entity
  configuration:
    map-underscore-to-camel-case: true

2.pom.xml

        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
        
            mysql
            mysql-connector-java
            8.0.28
        
        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            1.2.0
        

DemoApplication(这里新增了一个MapperScan注解)

package com.example.demo;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("com.example.demo.mapper")
public class DemoApplication {

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

}

TestController

package com.example.demo.controller;

import com.example.demo.entity.Test;
import com.example.demo.service.TestService;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.List;

@RestController
public class TestController {
    @Resource
    private TestService testService;

    @RequestMapping("/findAll")
    public List findAll(){
        return testService.findAll();
    }
}

TestService

package com.example.demo.service;

import com.example.demo.entity.Test;
import com.example.demo.mapper.TestMapper;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

@Service
public class TestService {
    @Resource
    private TestMapper testMapper;

    public List findAll(){
        return testMapper.findAll();
    }
}

TestMapper

package com.example.demo.mapper;

import com.example.demo.entity.Test;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface TestMapper {

    List findAll();
}

Test类

package com.example.demo.entity;

public class Test {
    private Integer id;
    private String name;
    private Integer age;
    private String address;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}

TestMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>



    

浏览器访问地址 localhost:8080/test/findAll

项目目录