IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 不通过字典获得转意字段(通过sql) -> 正文阅读

[大数据]不通过字典获得转意字段(通过sql)

  1. 首先重温一下左连接
    以左表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将左表所有的查询信息列出,而右表只列出ON后条件与左表满足的部分。左连接全称为左外连接,是外连接的一种。

  2. 数据库关系
    notice表中存的publisher字段是发布人的id
    notice表中存的publish_organ字段是发布人单位的id
    在这里插入图片描述
    现在要写个sql通过id查询到对应的用户姓名和用户单位。用户表为sys_user,部门表为sys_depart

    SELECT n.id, n.title, n.content, n.lng, n.lat, n.publish_time, n.show_title, n.file_name, n.file_path, n.create_by, n.create_time, 
    d.depart_name as publish_organ, u.realname as publisher 
    from l_notice n LEFT JOIN sys_user u on u.id = n.publisher 
    LEFT JOIN sys_depart d on d.id = n.publish_organ ORDER BY create_time DESC LIMIT 5;
    

查询结果
在这里插入图片描述
3. sql有了现在将其写入程序

NoticeMapper中新建接口,将sql写入程序。

@Mapper
public interface NoticeMapper extends BaseMapper<NoticeEntity> {
    @Select("SELECT n.id, n.title, n.content, n.lng, n.lat, n.publish_time, n.show_title, n.file_name, n.file_path, n.create_by, n.create_time, \n" +
            "d.depart_name as publish_organ, u.realname as publisher \n" +
            "from l_notice n LEFT JOIN sys_user u on u.id = n.publisher \n" +
            "LEFT JOIN sys_depart d on d.id = n.publish_organ ORDER BY create_time DESC LIMIT #{limit}")
	List<NoticeEntity> selectLastNum(@Param("limit") Integer limit);
}
  • @Param的作用就是给参数命名。
  1. service层加入接口,实现方法。
public interface INoticeService extends IService<NoticeEntity> {

    List<NoticeEntity> getLastNotices(Integer limit);
}

实现方法

@Service("noticeService")
public class NoticeServiceImpl extends ServiceImpl<NoticeMapper, NoticeEntity> implements INoticeService {
    /**
     * 获取最近的几条通知
     * 注意: publisher返回的是人名
     *        publishOrgan返回的是单位名
     * @param limit 最多多少条
     * @return
     */
    @Override
    public List<NoticeEntity> getLastNotices(Integer limit) {
        return getBaseMapper().selectLastNum(limit);
    }
  }

controller层

List<NoticeEntity> noticeEntityList = noticeService.getLastNotices(5);
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-15 00:05:37  更:2022-04-15 00:06:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:18:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码