上一篇: IDEA SpringBoot-Mybatis实现增删改查(CRUD)
下一篇:Intellij IDEA 高效使用教程 (插件,实用技巧) 最好用的idea插件大全



<?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.5</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.hao</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>demo</name> <description>demo</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- 热部署 可有可无自行选择--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency> <!-- @Data 注解 省力的插件 自动生成set get 有参无参--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <!-- mysql--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- mybatis-plus--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.2.0</version> </dependency> <!-- jdbc连接池--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build></project>创建成功后删除src下面的test目录
说明:
中 spring-boot-starter-parent 帮我们做了SpringBoot相关依赖包的版本号管理,所以有些依赖包不需要我们自己去写
但像 mybatis-plus-boot-starter 它是不属于spring-boot相关的, parent中没有做版本号管理,所以还需要手动写一下。

4.1 导入sql语句
CREATE TABLE `user_info` ( `id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '用户id', `username` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '用户名' COLLATE 'utf8mb4_general_ci', `password` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '密码' COLLATE 'utf8mb4_general_ci', `create_time` DATETIME NOT NULL COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE);说明:创建一个数据库,然后运行上述sql语句,生成用户表,主要就下面四个字段
4.2 修改application.yml配置文件
把文件里的application.properties修改成yml格式 yml更加便于管理,看起来也更舒适
server: port: 8887 #端口号可以自定义spring: devtools: #这个就是前面我下的热部署,自行了解 restart: enabled: true #开启 additional-paths: src/main/java exclude: WEB-INF/** freemarker: cache: false datasource: driver-class-name: com.mysql.cj.jdbc.Driver username: root #自己的数据库账号 password: 123456 #自己的密码 url: jdbc:mysql:///test?characterEncoding=utf-8&serverTimezone=UTC #"?"号前面是数据库名称 我的是test "///"默认为localhost:3306 如果你的不是默认端口自行修改 #配置MP和在控制台打印sql语句mybatis-plus: mapper-locations: classpath*:/mapper/**/*.xml configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpllogging: level: com: stxy: chefu: business: mvc: mapper: debug作用是扫描到mapper里面中的类,注意路径要和项目中实际路径一致
@MapperScan(value = "com.对应自己的路径.mapper")
package com.hao;import org.mybatis.spring.annotation.MapperScan;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@MapperScan("com.hao.mapper")@SpringBootApplicationpublic class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); }}package com.hao.pojo;import com.baomidou.mybatisplus.annotation.IdType;import com.baomidou.mybatisplus.annotation.TableId;import com.baomidou.mybatisplus.annotation.TableName;import lombok.Data;import java.time.LocalDateTime;//@Data 就是lombok 的注解 自动生成了set get@Data @TableName(value = "user_info") //@TableName 对应你的数据库表名public class UserInfo { @TableId(value = "id",type = IdType.AUTO) //@TableId 说明这条数据自增长也是对应数据库自增长的 private Integer id; private String username; private String password; private LocalDateTime createTime;}说明:这里类成员变量和数据库字段对应,Mybatis自动做了驼峰法到下划线的转换
如:数据库 create_time -> 类变量 createTime
package com.hao.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;import com.hao.pojo.UserInfo;public interface UserInfoMapper extends BaseMapper<UserInfo> {}说明:BaseMapper 类封装了dao层基本的增删改查操作
<?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.自己的路径.UserInfoMapper"></mapper>说明:这里的namespace和上述的UserInfoMapper路径对应一致
package com.hao.service;import com.baomidou.mybatisplus.extension.service.IService;import com.hao.pojo.UserInfo;public interface UserInfoService extends IService<UserInfo> {}说明:这里IService封装了service层基本的增删改查
package com.hao.service.impl;import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;import com.hao.mapper.UserInfoMapper;import com.hao.pojo.UserInfo;import com.hao.service.UserInfoService;import org.springframework.stereotype.Service;@Servicepublic class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo> implements UserInfoService {}package com.hao.controller;import com.hao.pojo.UserInfo;import com.hao.service.UserInfoService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.*;import java.time.LocalDateTime;import java.util.List;@RestController@RequestMapping("/userInfo")public class UserInfoController { @Autowired private UserInfoService userInfoService; //增加 @PostMapping("/add") public Boolean add(@RequestBody UserInfo userInfo) { userInfo.setCreateTime(LocalDateTime.now()); return userInfoService.save(userInfo); } //删除 @GetMapping("delete/{id}") public Boolean delete(@PathVariable Integer id) { return userInfoService.removeById(id); } //修改 @PostMapping("/update") public Boolean update(@RequestBody UserInfo userInfo) { return userInfoService.updateById(userInfo); } //查询 @GetMapping("/get/{id}") public UserInfo get(@PathVariable Integer id) { return userInfoService.getById(id); } //查询全部 @GetMapping("/list") public List<UserInfo> list() { return userInfoService.list(); }}说明:增删改查接口,基本上不需要自己写sql,直接调用Mybatis-Plus封装好的接口。 没啥好讲的
到这里就完成了增删改查操作,接下来我们对上面的代码在Postman中进行验证
1.新增一条信息
http://localhost:8887/userInfo/add

2.通过用户id删除用户
http://localhost:8887/userInfo/delete/215

3.根据用户id更新用户信息
http://localhost:8887/userInfo/update?id=1 

这里要注意要用JSON的方式写参数
4.通过用户id获取信息:
http://localhost:8887/userInfo/get/1
5.打印所有信息
http://localhost:8887/userInfo/list

三条信息全部打印出来了
!!!转载请注明出处!!!
!!!转载请注明出处!!!
!!!转载请注明出处!!!