SpringBoot+MyBatis+MySQL基础环境搭建(Maven)

1,609 阅读1分钟

Maven搭建

Maven搭建不是本文重点,所有不再赘述。

Springboot搭建

创建项目

_2021-06-23_155232.jpg

选择maven创建项目

21-06-23_155232.jpg

Maven引入Spring Boot基础依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>SpringBootSQLTest</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <spring-boot.version>2.1.1.RELEASE</spring-boot.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.build.outputEncoding>UTF-8</project.build.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <!--Spring Boot-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <!-- jdbc -->
				<dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-data-jpa</artifactId>
	      </dependency>
				<!--MySQL-->
	      <dependency>
	          <groupId>mysql</groupId>
	          <artifactId>mysql-connector-java</artifactId>
	      </dependency>
				<!--mybatis-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.1</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.4.2</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>8</source>
                    <target>8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

创建Application.java

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

创建配置文件

server:
	port: 8080

运行Application

.   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.1.1.RELEASE)

2021-06-23 16:32:20.803  INFO 13304 --- [           main] com.czy.Application                      : Starting Application on DESKTOP-RL6I4CD with PID 13304 (D:\DevelopData\JavaProject\SpringBootSQLTest\SingleLibTable\target\classes started by 90501 in D:\DevelopData\JavaProject\SpringBootSQLTest)
2021-06-23 16:32:20.808  INFO 13304 --- [           main] com.czy.Application                      : No active profile set, falling back to default profiles: default
2021-06-23 16:32:22.848  INFO 13304 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2021-06-23 16:32:22.871  INFO 13304 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2021-06-23 16:32:22.871  INFO 13304 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/9.0.13
2021-06-23 16:32:22.880  INFO 13304 --- [           main] o.a.catalina.core.AprLifecycleListener   : Loaded APR based Apache Tomcat Native library [1.2.23] using APR version [1.7.0].
2021-06-23 16:32:22.880  INFO 13304 --- [           main] o.a.catalina.core.AprLifecycleListener   : APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
2021-06-23 16:32:22.880  INFO 13304 --- [           main] o.a.catalina.core.AprLifecycleListener   : APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true]
2021-06-23 16:32:22.903  INFO 13304 --- [           main] o.a.catalina.core.AprLifecycleListener   : OpenSSL successfully initialized [OpenSSL 1.1.1c  28 May 2019]
2021-06-23 16:32:23.032  INFO 13304 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2021-06-23 16:32:23.032  INFO 13304 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 2134 ms
2021-06-23 16:32:23.353  INFO 13304 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2021-06-23 16:32:23.543  WARN 13304 --- [           main] ion$DefaultTemplateResolverConfiguration : Cannot find template location: classpath:/templates/ (please add some templates or check your Thymeleaf configuration)
2021-06-23 16:32:23.724  INFO 13304 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2021-06-23 16:32:23.728  INFO 13304 --- [           main] com.czy.Application                      : Started Application in 3.625 seconds (JVM running for 4.582)

运行成功

一个简单的SpringBoot项目就完成了。

MySQL配置

搭建MySQL

网上资源很多,这里就不再赘述了。
[docker部署MySQL](juejin.cn/post/697537…](juejin.cn/post/697537…)

创建一个数据库

CREATE DATABASE gz;

项目连接数据库

配置文件

server:
  port: 8080

spring:
  datasource:
    url: jdbc:mysql://192.168.1.74:3307/gz?characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT&allowPublicKeyRetrieval=true&useAffectedRows=true&allowMultiQueries=true
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver
    platform: mysql
    separator: $$$

Application.java去掉无数据库模式

@SpringBootApplication

引入mybatis

创建三大模块controller,dao,service

controller

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("test")
public class TestController {
    @Autowired
    private InfoService infoService;

    @GetMapping("1")
    public String getInfo(){
        return infoService.getInfo().toString();
    }
}

dao

public interface InfoDao {
    List<String> getInfo();
}

service

public interface InfoService {
    List<String> getInfo();
}
@Service
public class InfoServiceImpl implements InfoService {
    @Autowired
    private InfoDao infoDao;

    @Override
    public List<String> getInfo() {
        return infoDao.getInfo();
    }
}

创建mapper.xml

创建一个mapper文件夹,再创建一个test.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.czy.dao.InfoDao">
    <select id="getInfo" resultType="String">
        SELECT content FROM t_test
    </select>
</mapper>

主程序扫描

// 扫描dao接口
@MapperScan("com.czy.dao")
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

测试

21-06-23adfa155232.jpg

获取到了数据库数据