制作分析
我们要实现一个模块的增删改查
实际开发中mybatisplus用的不多,他只能对没有外键的单表进行简单的查询
MyBatis-Plus 是一个增强的 MyBatis 框架,提供了许多便捷的功能来简化和增强对数据库的操作。虽然 MyBatis-Plus 在一些场景下对于复杂的数据库关联操作可能不够直接或完全支持,但它仍然可以用于处理包括多表关联查询在内的许多实际开发中的数据库操作。
MyBatis-Plus 的主要功能和用途包括:
- 代码生成器: MyBatis-Plus 提供了代码生成器,可以根据数据库表结构自动生成对应的实体类、Mapper 接口以及 Service 层代码,减少手动编写重复代码的工作量。
- 通用 CRUD 方法: MyBatis-Plus 提供了一系列的通用 CRUD 方法,如
insert
、updateById
、deleteById
等,可以方便地进行单表的增删改查操作。 - 条件构造器: 提供了灵活的条件构造器(Wrapper),支持根据条件动态拼接 SQL 查询语句,可以处理复杂的查询需求。
- 分页插件: MyBatis-Plus 内置了分页插件,支持在不同数据库上进行分页查询,简化了分页查询的实现。
- 乐观锁插件: 支持乐观锁的实现,用于处理并发更新时的数据一致性问题。
- SQL 注入防止: 默认开启了 SQL 注入防止功能,能够有效防止 SQL 注入攻击。
对于复杂查询和外键的处理:
- 复杂查询: 虽然 MyBatis-Plus 对于复杂的多表关联查询没有提供直接的支持,但可以通过自定义 SQL 或使用 Wrapper 来处理复杂查询需求。例如,可以使用
@Select
注解自定义 SQL 查询语句,或者使用 MyBatis-Plus 提供的 LambdaQueryWrapper、QueryWrapper 等来动态拼接复杂的条件查询。 - 外键处理: MyBatis-Plus 并不提供对外键约束的直接支持,但可以通过自定义 SQL 或者在业务逻辑中处理外键关系,来实现外键的查询和操作。
虽然 MyBatis-Plus 在某些复杂的数据库操作场景可能需要额外的自定义或手动处理,但在大多数情况下,它仍然是一个非常实用和方便的持久层框架,能够显著提高开发效率并简化数据库操作。
但在这个案例中我们还是选择mybatisplus开发
模块创建
我们把所有服务器都放在一起
就不用前后端分离
我们尝试用后端开发进行全栈开发
全栈开发通常涵盖了前端和后端开发的技能,使开发者能够独立完成整个应用程序的开发和部署。尽管通常全栈开发会涉及到前端和后端两方面的技术,但这并不意味着一定要完全割裂开发过程。事实上,后端开发在全栈开发中仍然扮演着至关重要的角色。
后端开发在全栈开发中的作用和挑战:
- 数据处理和业务逻辑: 后端开发负责处理数据的存储、访问和逻辑处理。这包括数据库设计、API 的编写和管理、安全性等方面的考虑。
- 服务端架构和逻辑: 后端开发者需要设计和实现服务端的架构,确保系统的可靠性、扩展性和安全性。这可能涉及到选择合适的框架(如Spring Boot、Node.js等)、数据库管理系统等。
- API 设计和开发: 设计和开发后端 API 是后端开发的核心任务之一。这需要与前端开发人员密切合作,确保API的设计满足前端的需求,同时保证数据的安全和有效性。
- 安全性和性能优化: 后端开发者需要关注系统的安全性,包括数据的加密、用户认证和授权等方面。此外,还需要优化系统的性能,确保应用在处理大量数据或高并发情况下仍然能够高效运行。
- 与前端开发的协作: 尽管全栈开发者可以独立完成前后端的工作,但与专注于前端的开发者协作仍然是至关重要的。这种协作可以帮助确保前后端的功能和界面设计的一致性,并且在技术上能够更好地支持和补充彼此的工作。
在全栈开发中,后端开发的技能和经验是非常宝贵的,它不仅能够帮助你构建强大和可靠的后端服务,还能够为整个应用程序的成功和稳定性贡献重要的部分。因此,尽管全栈开发者需要掌握广泛的技术栈,但后端开发的专业知识和技能仍然是其不可或缺的一部分。
新建项目添加依赖
spring mvc 和 mySQL
添加依赖
<?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> <groupId>com.bigdata1421</groupId> <artifactId>ssmp</artifactId> <version>0.0.1-SNAPSHOT</version> <name>ssmp</name> <description>ssmp</description> <properties> <java.version>1.8</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <spring-boot.version>2.6.13</spring-boot.version> </properties> <dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.7</version> </dependency> <!--Mybatis-plus的依赖--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.3</version> </dependency> <!--druid的依赖--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.6</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!-- 导入lombok的依赖 --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <dependency> <groupId>org.xmlunit</groupId> <artifactId>xmlunit-core</artifactId> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>${spring-boot.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${spring-boot.version}</version> <configuration> <mainClass>com.bigdata1421.ssmp.SsmpApplication</mainClass> <skip>true</skip> </configuration> <executions> <execution> <id>repackage</id> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>
改端口号
小结
开发实体类
开发实体类
用lombok快速开发实体类
实体类通常放在domain包下
首先我们在pom配置文件里面导入lombok的坐标
一个总注解
@Data 注解包含的有set get 还有toString hashcode equals方法
这样写才是完整的
package com.bigdata1421.ssmp.domain; import lombok.*; import org.springframework.context.annotation.Configuration; // lombok开发 用注解封装实体类 @Data @NoArgsConstructor @Configuration @Getter public class User { // 定义属性 private Integer id; private String name; private Integer age; private Integer gender; }
小结
个人号推广
博客主页
多多!-CSDN博客
Web后端开发
https://blog.csdn.net/qq_30500575/category_12624592.html?spm=1001.2014.3001.5482
Web前端开发
https://blog.csdn.net/qq_30500575/category_12642989.html?spm=1001.2014.3001.5482
数据库开发
https://blog.csdn.net/qq_30500575/category_12651993.html?spm=1001.2014.3001.5482
项目实战
https://blog.csdn.net/qq_30500575/category_12699801.html?spm=1001.2014.3001.5482
算法与数据结构
https://blog.csdn.net/qq_30500575/category_12630954.html?spm=1001.2014.3001.5482
计算机基础
https://blog.csdn.net/qq_30500575/category_12701605.html?spm=1001.2014.3001.5482
回忆录
https://blog.csdn.net/qq_30500575/category_12620276.html?spm=1001.2014.3001.5482