数据持久化技术——MP(二)

简介: 数据持久化技术——MP(二)

5 开始前端控制器的编码

复制controller层的框架整体,和前端进行交互的页面


@RequestMapping("/queryAll")
public List<Singer> queryAll() {
  // 先演示普通的查询,再逆序查询
    return null;
}
@RequestMapping("/queryByName")
public List<Singer> queryByName(String name) {
  // 使用lambdaQueryWrapper 的like方法模糊查询
  // list方法查询到所有的符合条件值并返回
    return null;
}
@PostMapping("/save")
public String save(HttpServletRequest request) {
  Singer singer = new Singer();
    singer.setName(request.getParameter("name"))
            .setSex(Integer.parseInt(request.getParameter("sex")))
            .setPic(request.getParameter("pic"))
            .setBirth(new Date())
            .setLocation(request.getParameter("location"))
            .setIntroduction(request.getParameter("introduction"));
  // 调用save方法,并判断返回值的正误,返回前端对应的字符串
    return null;
}
@RequestMapping("/update")
public String update(int id, String introduction) {
    // 使用eq和set去设置条件构造器
    // 调用update传入条件构造器,并判断返回值的正误,返回前端对应的字符串
    return null;
}
@RequestMapping("/delete")
public String delete(Integer id) {
  // 调用removeById方法直接删
    return null;
}


 SQL语句是数据持久化技术的核心,jdbc使用String字符串拼接SQL语句;mybatis使用xml映射文件在标签里编写SQL语句;但是,MP无需使用SQL语句(一些复杂的业务可以使用SQL语句来完成),直接调用方法即可在框架的底层实现SQL语句的拼接和执行。

 在这里来查看一下mp的官方开发文档,大概讲一下几个方法的大概用处,然后摁住Ctrl查看源码,知道为什么可以使用这些方法完成相应的功能。


首先是注入SingerService对象


@Autowired
private SingerService service;


 这里的用法是spring框架的控制反转,即将设计好的类对象注册进spring的IOC容器中将对象的控制权交给容器,当需要使用的时候就使用@Autowired注解让容器创建一个对象出来使用。完成的作用相当于使用new的方式调用类的构造器创建一个对象


查询所有的记录


@RequestMapping("/queryAll")
public List<Singer> queryAll() {
    List<Singer> singers = service.list();
    return singers;
}


 逆序查询的话就需要在SQL语句拼接order by id desc,这个拼接条件的功能就需要使用wrapper构造器来完成了


5.1 wrapper构造器

 总而言之,wrapper构造器的作用就是用来拼装where,order by等条件语句的作用,如果你的增删改查无需条件的话,可以不用wrapper,但凡需要使用SQL语句需要拼接条件的话就需要使用wrapper。更加具体的wrapper案例分析参考博客wrapper构造器的简要案例分析

image.png

逆序查询所有记录的方法


逆序查询所有
http://localhost:8888/singer/queryAll


@RequestMapping("/queryAll")
public List<Singer> queryAll() {
    LambdaQueryWrapper<Singer> lambdaQueryWrapper = new LambdaQueryWrapper<>();
    lambdaQueryWrapper.orderByDesc(Singer::getId);
    List<Singer> singers = service.list(lambdaQueryWrapper);
    return singers;
}
相关文章
|
22天前
|
编解码 算法 安全
flv 和 mp4 区别
【10月更文挑战第26天】FLV和MP4格式在容器格式、编码标准、视频质量、兼容性、流媒体支持以及编辑制作等方面都存在一定的区别。用户在选择使用哪种格式时,应根据具体的需求和应用场景来决定。如果注重网络流媒体播放和实时性,FLV格式可能更适合;如果追求更好的视频质量、广泛的兼容性和方便的编辑制作,MP4格式则是更好的选择。
|
3月前
|
存储
使用lame转wav为mp3
使用lame转wav为mp3
|
编解码 API 内存技术
|
存储 编解码 JSON
MP4封装格式
MP4封装格式介绍及解释,本文介绍 mp4 里面各种 box 的作用,包括 mdat box, moov box,mdhd box 等等。
410 0
|
druid 前端开发 Java
数据持久化技术——MP(一)
数据持久化技术——MP(一)
307 0
数据持久化技术——MP(一)
数据持久化技术——MP(三)
数据持久化技术——MP(三)
132 0
|
算法 Windows 内存技术
程序人生 - 音频格式 PCM、WAV、MP3 区别
程序人生 - 音频格式 PCM、WAV、MP3 区别
1483 0
【工具】m3u8转为mp4
【工具】m3u8转为mp4
347 0
利用ffmpeg 转mp4 格式
脚本内容如下直接复制即可 命名 convert2MP4.bat [Asm] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 @echo off title 视频批量无损转mp4 set path=D:ffmpeg/bin/ffmpeg.exe;%path% for /f "delims=" %%i in ('dir /b /a-d /s "*.%1"') do echo ffmpeg -i "%%i" -y -qscale 0 -vcodec libx264 "%cd%\%%~ni.mp4" ping -n 5 127.0.0.
284 0
|
存储 编解码 容器
你真的懂 MP4 格式吗?
MP4 文件格式重点全解析!
你真的懂 MP4 格式吗?