品牌网站建设小科6a蚪,邢台建网站哪里有,江苏 网站集约化建设方案,图片设计网站免费文章目录前言准备工具创建项目前言 为什么使用SpringBoot?它有什么好处#xff1f; SpringBoot可以快速构建出独立的Spring应用#xff0c;简化了配置文件。内嵌Tomcat服务器#xff0c;无须手动部署war文件。 准备工具
idea2022navicat16postmanjdk1.8
创建项目
File- SpringBoot可以快速构建出独立的Spring应用简化了配置文件。内嵌Tomcat服务器无须手动部署war文件。 准备工具
idea2022navicat16postmanjdk1.8
创建项目
File-New-Project-Spring Initializr
输入项目名组名选择Java8版本SpringBoot3.0版本需要jdk173.0之前的版本用jdk8SANPSHOP是发行版会优先用本地的maven依赖。 点击Next,勾选4个依赖。
解释
Lombok依赖可以根据成员变量生成get和set方法可以根据成员变量生成类的构造函数重写toString()和hashCode方法等。Spring Web依赖可以自动帮我们引入web模块开发需要的相关jar包。mybatis framework 就是把mybatis框架的依赖引进来 可以对数据库做持久化操作 musql。mysql就是数据库连接驱动 java操作数据库必须有这个依赖。 连接数据库。 输入用户名密码以及所要连接的数据库并进行测试连接的操作。 测试连接成功后点击应用即可。这边可以用生成器生成对应的实体等类根据个人选择我选用的生成器是mybaitscodehelper。 生成器配置如下 生成的entity,mapper,service,xml等文件层级关系如下 代码如下
entity:
package com.xct.springboot.mybatisHelper.entitys;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 io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;/*** author xct* date 2023年02月28日 09:12*/
Schema
Data
AllArgsConstructor
NoArgsConstructor
TableName(value novel)
public class NovelHelper implements Serializable {TableId(value id, type IdType.INPUT)Schema(description)private Integer id;/*** 书名*/TableField(value novel_name)Schema(description书名)private String novelName;/*** 作者*/TableField(value author)Schema(description作者)private String author;/*** 类型*/TableField(value type)Schema(description类型)private String type;/*** 价格*/TableField(value price)Schema(description价格)private BigDecimal price;/*** 出版社*/TableField(value publish)Schema(description出版社)private String publish;/*** 发行时间*/TableField(value create_time)Schema(description发行时间)private Date createTime;/*** 逻辑删除状态*/TableField(value logic_state)Schema(description逻辑删除状态)private Boolean logicState;private static final long serialVersionUID 1L;public static final String COL_ID id;public static final String COL_NOVEL_NAME novel_name;public static final String COL_AUTHOR author;public static final String COL_TYPE type;public static final String COL_PRICE price;public static final String COL_PUBLISH publish;public static final String COL_CREATE_TIME create_time;public static final String COL_LOGIC_STATE logic_state;
}mapper:
package com.xct.springboot.mybatisHelper.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xct.springboot.mybatisHelper.entitys.NovelHelper;
import org.apache.ibatis.annotations.Mapper;/*** author xct* date 2023年02月28日 09:12*/
Mapper
public interface NovelHelperMapper extends BaseMapperNovelHelper {
}service:
package com.xct.springboot.mybatisHelper.service;import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xct.springboot.mybatisHelper.entitys.NovelHelper;
import com.xct.springboot.mybatisHelper.mapper.NovelHelperMapper;
/*** author xct* date 2023年02月28日 09:12*/
Service
public class NovelService extends ServiceImplNovelHelperMapper, NovelHelper {}
xml文件:
?xml version1.0 encodingUTF-8?
!DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd
mapper namespacecom.xct.springboot.mybatisHelper.mapper.NovelHelperMapperresultMap idBaseResultMap typecom.xct.springboot.mybatisHelper.entitys.NovelHelper!--mbg.generated--!--Table novel--id columnid jdbcTypeINTEGER propertyid /result columnnovel_name jdbcTypeVARCHAR propertynovelName /result columnauthor jdbcTypeVARCHAR propertyauthor /result columntype jdbcTypeVARCHAR propertytype /result columnprice jdbcTypeDECIMAL propertyprice /result columnpublish jdbcTypeVARCHAR propertypublish /result columncreate_time jdbcTypeTIMESTAMP propertycreateTime /result columnlogic_state jdbcTypeBOOLEAN propertylogicState //resultMapsql idBase_Column_List!--mbg.generated--id, novel_name, author, type, price, publish, create_time, logic_state/sql
/mapper创建完成后在yml文件中编写相关配置。
server:port: 8082
spring:datasource:type: com.zaxxer.hikari.HikariDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/novel2?useUnicodetruecharacterEncodingUTF-8serverTimezoneAsia/ShanghainullCatalogMeansCurrenttrueusername: rootpassword: okmybatis-plus:mapper-locations: classpath:/mapper/**/*Mapper.xml,classpath:/mybatis/**/*.xml这里需要注意的是yml文件中用的是mybatisPlus映射所以在pom文件中要引入mybatisPlus依赖。
将生成的类所需要的依赖加入到pom文件中。
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.7.9/versionrelativePath/ !-- lookup parent from repository --/parentgroupIdcom.xct/groupIdartifactIdspringboot/artifactIdversion0.0.1-SNAPSHOT/versionnamespringboot/namedescriptionspringboot/descriptionpropertiesjava.version1.8/java.version/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion2.3.0/version/dependencydependencygroupIdcom.mysql/groupIdartifactIdmysql-connector-j/artifactIdscoperuntime/scope/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-core/artifactIdversion3.5.2/version/dependency!--mybatis-plus--dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.3.1/version/dependencydependencygroupIdio.swagger.core.v3/groupIdartifactIdswagger-annotations/artifactIdversion2.2.0/version/dependencydependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-extension/artifactIdversion3.5.2/version/dependency!--hutool--dependencygroupIdcn.hutool/groupIdartifactIdhutool-all/artifactIdversion5.8.12/version/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdconfigurationexcludesexcludegroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/exclude/excludes/configuration/plugin/plugins/build/project编写controller层
package com.xct.springboot.controller;import com.xct.springboot.mybatisHelper.entitys.NovelHelper;
import com.xct.springboot.mybatisHelper.service.NovelService;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;import java.util.Date;
import java.util.List;/*** author xct* date 2023年02月28日 09:13*/
RestController
AllArgsConstructor
RequestMapping(novel)
public class NovelController {private final NovelService novelService;/*** author xct* date 2023/2/28 9:14* name list* description 增加*/GetMapping(list)public ListNovelHelper list(){System.out.println(novelService.list());return novelService.list();}/*** author xct* date 2023/2/28 13:24* name add* description 增加*/PostMapping(add)public boolean add(NovelHelper helper){helper.setCreateTime(new Date());return novelService.save(helper);}/*** author xct* date 2023/2/28 13:24* name update* description 修改*/PutMapping(update)public boolean update(NovelHelper helper){return novelService.updateById(helper);}/*** author xct* date 2023/3/1 14:24* name delete* description 删除*/DeleteMapping(delete)public boolean delete(Long id){return novelService.removeById(id);}
}在postman中进行测试
查询 增加 修改 删除 注意 在实际开发的项目中通常controller层的接口返回类型都由架构师构建的Result类包装。通常Spring Boot项目都应该引入Swagger3.0技术生成Swagger接口文档便于前后端联调。