数据持久化技术——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;
}
相关文章
|
12天前
|
存储
使用lame转wav为mp3
使用lame转wav为mp3
|
编解码 API 内存技术
|
存储 编解码 JSON
MP4封装格式
MP4封装格式介绍及解释,本文介绍 mp4 里面各种 box 的作用,包括 mdat box, moov box,mdhd box 等等。
371 0
|
druid 前端开发 Java
数据持久化技术——MP(一)
数据持久化技术——MP(一)
288 0
数据持久化技术——MP(一)
数据持久化技术——MP(三)
数据持久化技术——MP(三)
123 0
|
算法 Windows 内存技术
程序人生 - 音频格式 PCM、WAV、MP3 区别
程序人生 - 音频格式 PCM、WAV、MP3 区别
1351 0
【工具】m3u8转为mp4
【工具】m3u8转为mp4
327 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.
258 0
|
存储 编解码 容器
你真的懂 MP4 格式吗?
MP4 文件格式重点全解析!
你真的懂 MP4 格式吗?
使用ffmpeg将mp4转为hls遇到的问题
之前通过某成熟云方案定制服务,将mp4音频文件转为hls以支持流媒体播放需要 之后决定通过开源软件ffmpeg的方案自研实现定制转换. 但是转换之后发现普通播放可行,但是进行流式播放时遇到问题. 现象是浏览器在加载到新位置已经开始下载新的数据帧文件,但是并没有播放成功 后续会更新发现的疑问点和解决...
1524 0