【后端】初学springboot项目的创建与查询接口实战
·
文章目录
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


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


所有评论(0)