1.创建项目

file→New Project
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以删除掉不需要的文件
在这里插入图片描述

2.修改自己的maven仓库路径

File | Settings | Build, Execution, Deployment | Build Tools | Maven
在这里插入图片描述

3.在pom.xml中修改springboot 和 jdk的版本

在这里插入图片描述

4.配置数据库连接

4.1导入mysql启动器依赖

 <!-- mysql启动器-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.16</version>
        </dependency>

4.2application.properties改成yml文件

在这里插入图片描述

4.3配置数据库连接

注意格式

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: xxxx
    password: xxxxxxx
    url: jdbc:mysql://localhost:3306/springclouddemo?&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai

5.实现一个简单的查询接口

5.1导入mybatis-plus依赖

    <!--mybatisplus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
        </dependency>

yml配置文件中配置mybatis

mybatis-plus:
  # 搜索指定包别名
  typeAliasesPackage: com.example.testdemo.demo.entity
  # 配置mapper的扫描,找到所有的mapper.xml映射文件
  mapperLocations: classpath*:mapper/**/*Mapper.xml

在这里插入图片描述

5.2创建一张自己的数据库表

结果如下
在这里插入图片描述

5.3创建controller层、service层、mapper(dao)层、entity层、启动类

(1)导入web依赖

    <!-- web依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

(2)整体的目录结构如图

在这里插入图片描述

(3)整体的配置文件

server:
  port: 8001

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: 代替成你自己的数据库用户名
    password: 代替成你自己的数据库密码
    url: jdbc:mysql://localhost:3306/代替成你自己的数据库名称?&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai

mybatis-plus:
  # 搜索指定包别名
  typeAliasesPackage: com.example.testdemo.demo.entity
  # 配置mapper的扫描,找到所有的mapper.xml映射文件
  mapperLocations: classpath*:mapper/**/*Mapper.xml

(4)整体代码部分

1.entity 实体部分
package com.example.testdemo.demo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

@Data
@TableName("sys_user")
public class SysUser {
    @TableId(type = IdType.AUTO)
    private Integer id;
    private String name;
    private String password;
    private Integer age;
    private String phone;
    private String sex;
    private String role;
}

2.controller控制层
package com.example.testdemo.demo.controller;

import com.example.testdemo.demo.entity.SysUser;
import com.example.testdemo.demo.service.SysUserService;
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;

import java.util.List;



@RestController
@RequestMapping("/sysUser")
public class SysUserController {

    @Autowired
    private SysUserService sysUserService;

//接口1
    @GetMapping("/findUserList")
    public List<SysUser> findUserList() {
        List<SysUser> list =  sysUserService.findUserList();
        return list;
    }

//接口2
    @GetMapping("/findList")
    public List<SysUser> findList() {
        List<SysUser> list =  sysUserService.findList();
        return list;
    }

}

3.service
package com.example.testdemo.demo.service;

import com.example.testdemo.demo.entity.SysUser;
import com.example.testdemo.demo.mapper.SysUserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class SysUserService {
    @Autowired
    private SysUserMapper sysUserMapper;

//对应接口1
    public List<SysUser> findUserList() {
        List<SysUser> list = sysUserMapper.selectList(null);
        return list;
    }

//对应接口2
    public List<SysUser> findList() {
        List<SysUser> list = sysUserMapper.findList();
        return list;
    }
}

4.dao层
package com.example.testdemo.demo.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.testdemo.demo.entity.SysUser;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface SysUserMapper extends BaseMapper<SysUser> {
    List<SysUser> findList();
}

5.启动类
package com.example.testdemo.demo;

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

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

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

}
6.xml,对应接口2
<?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.example.testdemo.demo.mapper.SysUserMapper">

    <select id="findList" resultType="SysUser">
        select * from sys_user
    </select>


<!--    1.namespace全路径是指向dao层接口的,按住ctrl+点击SysUserMapper,如果跳转到对应的          dao层,则代表没有问题
        2.id=findList对应dao层的接口名称
        3.resultType="SysUser"对应的是entity中的实体,此处无需使用全路径,因为yml中已经配置了指定包别名 
        typeAliasesPackage: com.example.testdemo.demo.entity
 -->


</mapper>
解释说明
1.注意启动类上要加扫描dao层的注解和路径,根据实际项目进行调整
@MapperScan("com.example.testdemo.demo.mapper")

2.接口1:findUserList 通过调用mybatisplus的方法实现查询所有的用户数据
对应的service层的方法:  public List<SysUser> findUserList() 
无需使用xml

3.接口2:findList通过xml书写sql的方式
对应的service层的方法: public List<SysUser> findList() 
对应dao层: List<SysUser> findList();
需要使用xml,参考(6.xml,对应接口2)
pom.xml部分
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.2</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example.testdemo</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <!-- mysql启动器-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.16</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.0.7.1</version>
        </dependency>
        <!-- web依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>


    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

(5)启动springboot

在这里插入图片描述
启动成功
在这里插入图片描述

6. 测试结果(使用postman进行接口测试)

接口1和接口2查询出的结果是一样的
接口1:http://localhost:8001/sysUser/findUserList
接口2:http://localhost:8001/sysUser/findList

在这里插入图片描述
在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐