1、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.6.4</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.hmblogs</groupId>
<artifactId>hmblogs</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>hmblogs</name>
<description>hmblogs</description>
<properties>
<java.version>8</java.version>
<druid.version>1.2.8</druid.version>
<log4jdbc.version>1.16</log4jdbc.version>
</properties>
<dependencies>
<!-- druid数据源驱动 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>${druid.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- mybatis -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3.1</version>
</dependency>
<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>
<!--Mysql依赖包-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--lombok插件-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!--监控sql日志-->
<dependency>
<groupId>org.bgee.log4jdbc-log4j2</groupId>
<artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
<version>${log4jdbc.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
2、application.yml文件内容如下:
server:
port: 8080
servlet.context-path: /hmblogs
#配置数据源
spring:
datasource:
druid:
db-type: com.alibaba.druid.pool.DruidDataSource
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
url: jdbc:log4jdbc:mysql://${DB_HOST:localhost}:${DB_PORT:3306}/${DB_NAME:eladmin}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false
username: ${DB_USER:root}
password: ${DB_PWD:123456}
3、GirlMapper.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.hmblogs.backend.dao.GirlMapper">
<resultMap id="BaseResultMap" type="com.hmblogs.backend.entity.Girl">
<id column="id" property="id"/>
<result column="cup_size" property="cupSize"/>
<result column="age" property="age"/>
</resultMap>
<sql id="BaseResultMap">
id, cup_size, age
</sql>
<select id="findAll" resultMap="BaseResultMap">
select
<include refid="BaseResultMap"/>
from girl
</select>
</mapper>
4、BackendApplication.java文件内容如下:
package com.hmblogs.backend;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class BackendApplication {
public static void main(String[] args) {
SpringApplication.run(BackendApplication.class, args);
}
}
5、GirlService.java文件内容如下:
package com.hmblogs.backend.service;
import com.hmblogs.backend.entity.Girl;
import java.util.List;
public interface GirlService{
List<Girl> findAll();
int addGirl(Girl girl);
}
6、GirlServiceImpl.java文件内容如下:
package com.hmblogs.backend.service;
import com.hmblogs.backend.dao.GirlMapper;
import com.hmblogs.backend.entity.Girl;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
@RequiredArgsConstructor
public class GirlServiceImpl implements GirlService {
@Autowired
private GirlMapper girlMapper;
@Override
public List<Girl> findAll() {
return girlMapper.findAll();
}
@Override
public int addGirl(Girl girl) {
girl.setId(null);
return girlMapper.insert(girl);
}
}
7、Girl.java文件内容如下:
package com.hmblogs.backend.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
@TableName("girl")
public class Girl {
@TableId(value="id", type = IdType.AUTO)
private Integer id;
@TableField(value="cup_size")
private String cupSize;
private Integer age;
}
8、GirlMapper.java文件内容如下:
package com.hmblogs.backend.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hmblogs.backend.entity.Girl;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface GirlMapper extends BaseMapper<Girl> {
List<Girl> findAll();
}
9、GirlController.java文件内容如下:
package com.hmblogs.backend.controller;
import com.hmblogs.backend.entity.Girl;
import com.hmblogs.backend.service.GirlService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
public class GirlController {
@Autowired
private GirlService girlService;
/**
* 查询所有女生列表
* @return
*/
@GetMapping(value = "/girls")
public List<Girl> getGirlList(){
return girlService.findAll();
}
/**
* 添加一个女生
* @param girl
* @return
*/
@RequestMapping(value = "/girls",method = RequestMethod.POST)
public int addGirl(@RequestBody Girl girl){
return girlService.addGirl(girl);
}
}
代码文件结构如下所示

10、启动该服务
10.1调试女孩list接口,接口方式为get
http://localhost:8080/hmblogs/girls

10.2调试添加女孩接口,接口方式为POST
查看数据库的表的数据

文章展示了一个基于SpringBoot的应用配置,包括pom.xml中的依赖管理,如Druid数据源、MyBatisPlus、Lombok等。此外,还涉及了application.yml中数据源的配置,以及GirlMapper.xml中MyBatis的SQL映射。GirlService和GirlServiceImpl定义了业务逻辑,GirlController处理RESTAPI请求,用于获取女生列表和添加新女生。
1万+

被折叠的 条评论
为什么被折叠?



