1.首先我们要准备好的一个数据库,以及准备好的表:
这样的前期准备工作就做好了
然后我们由于是要使用SpringBoot所以需要事先配置好maven,做好这些准备后就可去去后端搭建环境了
2.搭建项目
注意这里的红色箭头表示这个.demo为了我们方便整理项目所以可以选择删除掉(当然不删除也可以),名称可以换成自定义的
接下来点击下一步就可以了然后idea就会自动帮我们搭建一个项目了
重要的包都是红框里的,其中pom.xml是我们导入依赖的地方
<?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.7.5</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>ikuntest</artifactId> <version>0.0.1-SNAPSHOT</version> <name>ikuntest</name> <description>ikuntest</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.2</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.78</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.2</version> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.20</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
把上面这些粘贴到pom.xml文件里就可以了(这一步的前提是要事先搭建好maven环境)
如过想要检查maven的版本的话可以cmd->运行mvn -v命令将显示 Maven 版本(注意这里又可能你的maven版本太低的话后面导入某些依赖会爆出启动错误的bug)
3.连接你的数据库
连接好后打开查看一下是否正确(这里的userpwd是经过了MD5加密所以显示的很奇怪,MD5后面会提到)
4.打开resource并且找到期目录下的application把他的后缀名改为yaml或者yml,这里其实不改也可以不过使用yaml的语法更简单易懂
5.在主启动类的同级目录下建好以下的包注意一定要是和主启动类平级的目录下,不然主启动类启动后是扫描不到的
6.建好之后我们首先打开pojo(pojo的意思就是实体类和你的数据库表明相对应)
这里是用来lombok的注解,@Data@AllArgsConstructor@NoArgsConstructor这几个注解来帮助我们去自动实现其有参无参构造以及get,set方法十分方便(这一步的前提是在pom之中导入了lombok的依赖)
建好这个User实体类后我们再去定义一个自定义返回类来帮助我们更方便的去返回给前端信息
这里重写了一个有参构造方法,为了是让data在return的时候可传可不传
7.在名为mapper的包下建立一个接口名为UserMapper,然后再resource下再建建立一个名为mybatis的包与之对应,并且再其中建立一个UserMapper.xml
这里可以下载一个叫做mybatisX的插件,十分好用
在UserMapper.xml之中加入复制以下东西
<?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.example.mapper.UserMapper"> </mapper>
注意这里的namespace要换成自己刚才建好的mapper包中的UserMapper的接口名字
然后再打开UserMapper的接口
这些是利用了注解开发,这里的知识要自行学习。
这些东西建立好之后就可以去yaml去添加东西了
server: port: 8080 mybatis: mapper-locations: classpath:mybatis/*.xml type-aliases-package: com.example.pojo spring: application: name:exam-provider-basic datasource: driver-class-name: com.mysql.cj.jdbc.Driver username: root password: 你的数据库密码 url: jdbc:mysql://localhost:3306/你的数据库架构名字?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
这里的所有东西都要根据自己的名字不同去自行更改
8.去untils里建立一个Md5的加密密码方法
9.在service里建立imp的包以及一个service的接口
然后去service的接口里去创建方法
这里分别对应的是增加,删除,更改,全查
之后就去impl的包里面建立一个serviceimpl的类去实现刚才的service接口
@Service public class serviceimpl implements service { @Autowired private UserMapper userMapper; @Override public ResultPojo addUser(User user) { if(user.getId()==0) { return new ResultPojo(0,"参数为空"); } try { user.setUserpwd(Md5.MD5(user.getUserpwd())); userMapper.addUser(user); return new ResultPojo(1,"增加成功"); // return ResultPojoUntils.success(); }catch (Exception e) { e.printStackTrace(); return new ResultPojo(0,"错误"); // return ResultPojoUntils.error(ErrorCode.PARAMS_ERROR); // throw new BusinessException(ErrorCode.PARAMS_ERROR); } } @Override public ResultPojo deleteUser(int id) { try{ userMapper.deleteUser(id); return new ResultPojo(1,"删除成功"); }catch (Exception e) { e.printStackTrace(); return new ResultPojo(0,"删除失败"); } } @Override public ResultPojo updateUser(User user) { if(user.getId()==0) { return new ResultPojo(0,"参数为空"); } try { user.setUserpwd(Md5.MD5(user.getUserpwd())); userMapper.update(user); return new ResultPojo(1,"修改成功"); }catch (Exception e) { e.printStackTrace(); return null; } } @Override public ResultPojo queryUser() { return new ResultPojo(1,"查找成功",userMapper.queryUser()); } }
10.在controller里建立controller的类
@RestController public class controller { @Autowired private serviceimpl serviceimpl; @Autowired private UserMapper userMapper; @CrossOrigin @ResponseBody @PostMapping("/add") public ResultPojo add(@RequestBody User user) { return serviceimpl.addUser(user); } @CrossOrigin @ResponseBody @PostMapping("/delete") public ResultPojo delete(@RequestParam("id") int id) { return serviceimpl.deleteUser(id); } @CrossOrigin @PostMapping("/update") public ResultPojo update(@RequestBody User user) { return serviceimpl.updateUser(user); } @CrossOrigin @PostMapping("/query") public ResultPojo queryUser() { return new ResultPojo(1,"成功",serviceimpl.queryUser()); } }
11.这时就搭建好一个大致的增删改查了,去实验一下
点击运行后
去查询工具里查看