后端开发基本步骤(未完成继续写中)

1.使用spring initializr创建项目

注意:然后低下提供的依赖可用可不用,先不用,后边Maven统一配置依赖,

2.导入依赖

java 复制代码
<!-- web -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- mysql -->
<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
</dependency>
<!-- mybatis-plus -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.2</version>
</dependency>
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.5.2</version>
</dependency>
<!-- freemarker -->
<dependency>
    <groupId>org.freemarker</groupId>
    <artifactId>freemarker</artifactId>
</dependency>
<!-- lombok -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>

3.配置yml

如果没有yml就自己在资源包建造一个

java 复制代码
server:
  port: 9999

spring:
  datasource:
    username: root
    password: 123456
    url: jdbc:mysql:///xdb

logging:
  level:
    com.lantu: debug

注意: url: jdbc:mysql:///xdb 这里的第三个斜杠 代替了localhost (是一种简写)

4.Mybatis-plus代码生成

下面是一个例子,不过可以通用,

当然mybatis-plus官网,也有代码生成器例子,

不过既然写好了,以后用这一个模版也行,,后面有什么新的需求在加

java 复制代码
    public static void main(String[] args) {
        String url = "jdbc:mysql:///xdb";
        String username = "root";
        String password = "123456";
        String author = "mu";
        String outputDir = "D:\\Code\\x-admin\\src\\main\\java";
        String basePackage = "com.mu";
        String moduleName = "sys";
        String mapperLocation = "D:\\Code\\x-admin\\src\\main\\resources\\mapper\\" + moduleName;
        String tableName = "x_user,x_menu,x_role,x_role_menu,x_user_role";
        String tablePrefix = "x_";
        FastAutoGenerator.create(url, username, password)
                .globalConfig(builder -> {
                    builder.author(author) // 设置作者
//                            .enableSwagger() // 开启 swagger 模式
                            //.fileOverride() // 覆盖已生成文件
                            .outputDir(outputDir); // 指定输出目录
                })
                .packageConfig(builder -> {
                    builder.parent(basePackage) // 设置父包名
                            .moduleName(moduleName) // 设置父包模块名
                            .pathInfo(Collections.singletonMap(OutputFile.xml, mapperLocation)); // 设置mapperXml生成路径
                })
                .strategyConfig(builder -> {
                    builder.addInclude(tableName) // 设置需要生成的表名
                            .addTablePrefix(tablePrefix); // 设置过滤表前缀
                })
                .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
                .execute();
    }

使用mybatisplus代码生成器问题

Failed to execute goal org.codehaus.mojo:exec-maven-plugin:3.1.0:exec (default-cli) on project x-admin: Command execution failed.

原因是因为,在官方的测试文档目录下

是禁止使用这种格式的代码的,标准格式应该是

和测试相关的函数

这个up解释的非常好,使用maven方式构建spring项目。在test里面创建了一个main方法测试IOC的基本使用。但是运行时候报错

快速解决方法,把他放进java,文件下去使用(用完之后删除,可以减少打包负担),要么按照up的方法改成test方法的函数,而不是main方法

4.1

如果mapper类上,没有注解,要在启动类上加一个扫描注解

5.写接口

注意返回数据是json用@RestController注解

5.1写一个结果返回类

注解意思

@Data 生成get set 方法

@NoArgsConstructor 生成 无参构造方法

@AllArgsConstructor 生成 有参构造方法

java 复制代码
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Result<T> {

    private Integer code;
    private String message;
    private  T data;


    //封装  成功时返回的东西
    public static <T> Result<T> success(){
        return new Result<>(20000,"success",null);
    }

    //重载
    public static <T> Result<T> success(T data){
        return new Result<>(20000,"success",data);
    }


    //重载
    public static <T> Result<T> success(T data,String message){
        return new Result<>(20000,message,data);
    }

    //重载
    public static <T> Result<T> success(String message){
        return new Result<>(20000,message,null);
    }


    //失败时
    public static<T>  Result<T> fail(){
        return new Result<>(20001,"fail",null);
    }

    public static<T>  Result<T> fail(Integer code){
        return new Result<>(code,"fail",null);
    }

    public static<T>  Result<T> fail(Integer code, String message){
        return new Result<>(code,message,null);
    }

    public static<T>  Result<T> fail( String message){
        return new Result<>(20001,message,null);
    }


}
相关推荐
黎雁·泠崖14 小时前
【魔法森林冒险】13/14 支线任务 & 计分系统:丰富性与结局
java·开发语言
SuniaWang14 小时前
Spring AI 2.x 全面指南:架构升级、工具调用、多模型生态与实战示例
java·人工智能·后端·学习·spring·框架
闻哥14 小时前
Elasticsearch查询优化实战:从原理到落地的全方位调优指南
java·大数据·elasticsearch·搜索引擎·面试·全文检索·springboot
sheji341615 小时前
【开题答辩全过程】以 基于Java的甜品蛋糕网上商城的设计与实现为例,包含答辩的问题和答案
java·开发语言
智能零售小白白15 小时前
零售多门店库存调拨优化:需求预测与路径规划的技术实现
java·开发语言·零售
前路不黑暗@15 小时前
Java项目:Java脚手架项目的意义和环境搭建(一)
java·开发语言·spring boot·学习·spring cloud·maven·idea
Seven9715 小时前
LockSupport深度解析:线程阻塞与唤醒的底层实现原理
java
组合缺一15 小时前
OpenSolon v3.9.3, v3.8.5, v3.7.5, v3.6.8 年货版发布
java·人工智能·分布式·ai·llm·solon·mcp
uesowys15 小时前
华为OD算法开发指导-二级索引-Read and Write Path Different Version
java·算法·华为od
小比特_蓝光15 小时前
STL小知识点——C++
java·开发语言·c++·python