• 阶段一-01.万丈高楼,地基首要-第2章 单体架构设计与准备工作-2-21 基于通用Mapper基于Rest编写api接口-1


    基于rest service的一些增删改查的操作。

    数据库内预先创建的表

    这个表是用来给大家做演示用的

    id为主键。设置为自增长。

    逆向生成代码


    运行,生成代码

    运行的控制台输出


    可以看到相关的代码已经生成了




    拷贝相关生成的代码。mapper工程拷贝两个 一个stuMapper类还有一个xml映射类,

    pojo是放在pojo的工程内的

    注意逆向工具生成的注意事项

    逆向生成的resultMap是帮我们做映射关系的

    映射关系是映射到这个Stu的的pojo类

    假设我们再次运行生成代码的类


    在下面又追加了一个resultMap。id都是叫做BaseresultMap。也就是生成的代码是追加式的。如果多次生成了,要注意我们生成的xml文件里面多生成的resultMap。
    在一个映射里面也就是RsultMap的id也保证唯一。

    编写Service层

    在service工程下创建包




    创建service类


    接口类里面,定义四个基本的增删盖茶的方法。

    创建实现类的包

    创建srevice的实现类

    实现接口的类。

    service是需要被容器扫描到的。所以这里要用注解@Service




    实现接口的方法

    注入stuMapper。下面有个红色的波浪线。提示无法注入,找不到StuMapper .这里暂时先不用管。


    我们现在用的Mapper是通用的mapper,它帮我们封装了很多方法。
    stuMapper然后点,点就点出来很多方法。

    select相关的


    controller创建

    复制HelloController创建一个新的StuFooController



    实现类加上事物的支持。

    maven install

    启动api测试



    在这里报错了


    没有找到注入的stuMapper


    不是因为 这里的红线的问题。


    api的启动类里面默认会把com.imooc包下的类,子包的相关的类都会被扫描到。但是对于我们的mapper来讲的话,也是需要去扫描的。是让MyBatis去扫描的。

    所以我们需要再加上一个注释。@MapperScan

    一定要注释是tk.mybatis.spring.annotation这个包下的。

    指明通用mapper类的位置。我们只需要复制包名

    再次运行测试


    这样就启动成功了。

    请求参数的id是放在路径上的。所以它是一种路径参数。

    在后端的话,我们需要做到一一的映射。这里的id需要做到请求参数传递。

    问号的方式传递参数 就不会报异常了。

    在数据库表内加一条数据


    刷新前端页面,查询到了刚才条件的那条数据

    结束

  • 相关阅读:
    vagrant中配置多虚拟机
    更改centos的hostname
    静态变量设为nonpublic或者加final关键字
    随机数Random和SecureRandom
    C#技术栈入门到精通系列18——映射框架AutoMapper
    C#技术栈入门到精通系列13——日志框架Log4Net
    MFC 弹出窗口初始化
    MFC ListControl 智障总结
    Windows本地磁盘无法重命名
    C++ private类访问
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/12045752.html
Copyright © 2020-2023  润新知