使用Springboot实现简单的增删改查-超详细

本文档详细介绍了如何使用SpringBoot结合MyBatis进行简单的增删改查操作。从创建项目到配置数据库,再到编写实体类、Mapper、Service、Controller,以及XML文件,一步步展示了整个流程。此外,还提供了相关API的调用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用Springboot实现简单的增删改查-超详细 (java小白,仅记录。不喜勿喷)

  • php想转java,就想写个简单的增删改查。写惯了php,感觉java好复杂。
  • php一般就是定义路由,然后去控制器,去model层基本就ok了,很少用service。
  • java基本是先在entity包下定义实体类(和数据库字段一一对应的类)
  • 然后编写mapper接口中的方法,然后编写service,然后编写Controller,然后再去xml文件中写sql,最后还要去编写application启动文件。
  • 基本等于倒过来写。从实体类–>mapper->service->controller(定义路由)->在resources下的mappers文件夹中(至于文件夹叫啥名都是配置文件配置的)编写sql(这里的sql和mapper关联起来)就ok了。

新建项目

  1. File-new Project 选择Spring Initializr,然后点击next

  2. 这里用的是java8在这里插入图片描述

  3. 如图在这里插入图片描述

  4. 继续next,在web里面选择Spring Web,在sql里选择MyBatis Framework和MySQL Driver,然后点击next。然后输入项目名字点击finish。在这里插入图片描述

  5. 等待项目初始化完成,目录结构如图。在这里插入图片描述

  6. pom.xml是maven项目中的文件,包含所有项目中依赖的jar包。(个人理解) 目前简单的增删改查用到的就这些,没必要修改。如果需要添加依赖的话,可以自行添加然后点击重新加载即可。在这里插入图片描述

  7. 新建数据库以及数据表
    CREATE DATABASEzlsCHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci';
    新建表:
    CREATE TABLEuser(idint(10) unsigned NOT NULL AUTO_INCREMENT,namevarchar(50) NOT NULL,ageint(10) NOT NULL, PRIMARY KEY (id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;

  8. 修改数据库配置,application-properties是项目默认的配置文件。这里把它重命名为application-properties.bak(也可以删除掉)。我们使用yml的文件作为项目配置文件。
    8.1 新建application.yml和application-dev.yml文件。在application.yml中写入如下代码。

    spring:
      profiles:
        active: dev
    
      thymeleaf:
        view-names: /*
        cache: false
        prefix: /WEB-INF/html
    

    8.2 在application-dev写入如下代码,注意mapper-locations: classpath:对应的路径名字就是以后在resources下创建的文件夹的名字

    server:
      port: 8888
    
    spring:
      datasource:
        username: root
        password: root
        url: jdbc:mysql://localhost:3306/zls?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
        driver-class-name: com.mysql.jdbc.Driver
    
    mybatis:
      mapper-locations: classpath:mappers/*Mapper.xml
      type-aliases-package: com.zls.zzz.entity
    
    #showSql
    logging:
      level:
        com:
          example:
            mapper : debug
    
    

在这里插入图片描述在这里插入图片描述

  1. 新建如下几个包,然后编写Uer.java类。如下 在这里插入图片描述

  2. 编写UserMapper如下!!(这里的注解换成@Mapper也可以)在这里插入图片描述

  3. 编写UserService,如下!在这里插入图片描述

  4. 编写controller,代码如下在这里插入图片描述

  5. 在resources下新建mappers,然后新建UserMapper,代码如下![在这里插入图片描述](https://img-blog.csdnimg.cn/20201130105842916.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hhbmRzb21lemxz,size_16,color_FFFFFF,t_70

  6. 最后编写application启动文件在这里插入图片描述

  7. 然后启动项目即可 post方式的话 用postman测试即可
    localhost:8888/user/add 新增 传参数name和age post 方式
    localhost:8888/user/del/1 删除id为1的数据 get 方式
    localhost:8888/user/edit 修改 post 方式 记得传id
    localhost:8888/user/findOne/1 查询id为1的数据 get 方式
    localhost:8888/user/findAll 查询所有 get 方式

源码:链接:https://pan.baidu.com/s/1MxJYR30F3yhpt9-SbNOpGQ
提取码:5kva

最后给大家推荐一个适合新手入门的项目:https://www.bilibili.com/video/BV1wK411T7MY 它的源码也可以拿到。(我也是之前在B站看到的,我并不是他们公司的人~

<think>好的,我需要帮助用户了解如何使用SpringBootMyBatis-Plus实现PostgreSQL数据库的增删改查操作。首先,我应该回顾用户提供的引用内容,看看里面有没有相关的信息可以利用。 引用[1]提到新建一个Spring Boot项目来讲解MyBatis-Plus的使用,但具体步骤可能没有详细说明。引用[2]讨论了SpringBoot整合MyBatis-Plus的好处,比如减少编SQL语句,实现简单的CRUD操作,这可能对用户有帮助。引用[3]提到了代码生成器的使用,这可能也是关键步骤之一,因为MyBatis-Plus的代码生成器可以自动生成实体类、Mapper接口等,节省时间。 接下来,我需要组织一个详细的教程。通常,这样的教程会包括以下几个步骤: 1. **创建Spring Boot项目**:使用Spring Initializr或者IDE创建项目,添加必要的依赖,比如PostgreSQL驱动、MyBatis-Plus、Spring Web等。 2. **配置数据库连接**:在application.yml或application.properties中配置PostgreSQL的连接信息,包括URL、用户名、密码。 3. **创建实体类**:使用MyBatis-Plus的注解(如@TableName、@TableId)定义实体类,对应数据库表。 4. **创建Mapper接口**:继承MyBatis-Plus的BaseMapper接口,这样可以直接使用内置的CRUD方法。 5. **配置分页插件**:如果需要分页功能,添加分页插件的配置类。 6. **编Service层**:创建Service接口及其实现类,调用Mapper的方法实现业务逻辑。 7. **编Controller层**:处理HTTP请求,调用Service层的方法返回结果。 8. **测试接口**:使用Postman或单元测试验证增删改查功能。 另外,引用[3]提到的代码生成器可以自动生成这些代码,用户可能对此感兴趣,所以需要详细说明如何配置生成器类,指定数据库连接,选择生成哪些模块,设置输出路径等。 需要注意的是,用户提到使用PostgreSQL,所以在配置数据库连接时要确保驱动正确,依赖已添加。同时,MyBatis-Plus默认使用MySQL的语法,某些情况下可能需要调整SQL方言,但通常MyBatis-Plus能自动处理。 在示例代码部分,应该给出实体类、Mapper、Service和Controller的具体代码,并说明每个部分的作用。例如,实体类使用@TableName注解指定表名,主键使用@TableId。Mapper接口继承BaseMapper后,可以直接使用selectList、insert、updateById、deleteById等方法。 可能遇到的问题包括依赖冲突、数据库连接失败、表名或字段名映射不正确等,应该在教程中提醒用户检查这些点,比如开启MyBatis-Plus的SQL日志打印,方便调试。 最后,按照用户要求生成相关问题,可能涉及性能优化、高级功能(如分页、事务管理)、与其他技术的整合等。 现在需要将这些步骤结构化,确保符合用户的要求,使用正确的中文表达,并正确应用LaTeX格式的行内公式(如果有数学表达式的话,但在这个主题中可能较少,不过仍需注意)。同时,引用标记要正确放置在参考内容的末尾。</think>[用户可见层] # SpringBoot + MyBatis-Plus + PostgreSQL 增删改查教程 ### 一、环境准备 1. **创建Spring Boot项目** - 通过[Spring Initializr](https://start.spring.io/)创建项目,选择依赖: - `Spring Web` - `PostgreSQL Driver` - `MyBatis Framework`(或直接引入MyBatis-Plus依赖) - 手动添加MyBatis-Plus依赖至`pom.xml`: ```xml <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.3.1</version> </dependency> ``` 2. **配置数据库连接** - 在`application.yml`中添加PostgreSQL配置: ```yaml spring: datasource: url: jdbc:postgresql://localhost:5432/your_database username: postgres password: your_password driver-class-name: org.postgresql.Driver ``` --- ### 二、代码生成器配置(可选) 通过代码生成器可快速生成实体类、Mapper等文件[^3]: ```java public class CodeGenerator { public static void main(String[] args) { AutoGenerator generator = new AutoGenerator(); generator.setDataSource(new DataSourceConfig.Builder( "jdbc:postgresql://localhost:5432/your_db", "postgres", "your_pwd").build()); // 设置包路径 PackageConfig packageConfig = new PackageConfig.Builder() .parent("com.example.demo") .entity("entity") .mapper("mapper").build(); generator.execute(); } } ``` --- ### 三、核心代码实现 1. **实体类定义** ```java @Data @TableName("user") // 对应数据库表名 public class User { @TableId(type = IdType.AUTO) // 主键自增 private Long id; private String name; private Integer age; } ``` 2. **Mapper接口** ```java public interface UserMapper extends BaseMapper<User> { // 继承BaseMapper后,已包含基础的CRUD方法 } ``` 3. **Service层** ```java public interface UserService extends IService<User> {} @Service public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {} ``` 4. **Controller层** ```java @RestController @RequestMapping("/user") public class UserController { @Autowired private UserService userService; // 查询所有用户 @GetMapping("/list") public List<User> list() { return userService.list(); } // 新增用户 @PostMapping("/add") public boolean add(@RequestBody User user) { return userService.save(user); } // 修改用户 @PostMapping("/update") public boolean update(@RequestBody User user) { return userService.updateById(user); } // 删除用户 @DeleteMapping("/{id}") public boolean delete(@PathVariable Long id) { return userService.removeById(id); } } ``` --- ### 四、测试验证 1. **启动类添加Mapper扫描** ```java @SpringBootApplication @MapperScan("com.example.demo.mapper") public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } ``` 2. **通过Postman测试接口** - `GET /user/list`:查询用户列表 - `POST /user/add`:提交JSON格式用户数据 - `POST /user/update`:更新用户信息 - `DELETE /user/{id}`:按ID删除用户 --- ### 五、注意事项 1. **SQL日志打印** 在`application.yml`中开启MyBatis-Plus日志: ```yaml mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl ``` 2. **表名与字段映射** 若表名或字段名含下划线(如`user_info`),需使用`@TableField("user_name")`注解显式映射。 3. **分页插件配置** 若需分页查询,添加配置类: ```java @Configuration public class MybatisPlusConfig { @Bean public MybatisPlusInterceptor paginationInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); interceptor.addInnerInterceptor(new PaginationInnerInterceptor()); return interceptor; } } ```
评论 54
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值