java的注解方式和xml方式这两种方式对数据库进行操作详解

news2024/11/13 16:03:48

首先需要引入mybatisplus包

<dependency>
	<groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.1.1</version>
</dependency>

第一种注解方式:参数是通过#{}来接收的

public interface ApArticleMapper extends BaseMapper<ApArticle> {

    @Select("SELECT apa.* from ap_article apa LEFT JOIN ap_article_config aac on apa.id = aac.article_id where " +
            "aac.is_delete=0 and aac.is_down=0 and apa.channel_id=2 and publish_time>#{startTime}")
    List<ApArticle> selectRedisVoList(LocalDateTime startTime);
}

调用:

apArticleMapper.selectRedisVoList(startTime);

第二种xml方式:

public interface ApArticleMapper extends BaseMapper<ApArticle> {
    List<ApArticle> pageByOrder(@Param(value="start") Long start, @Param(value="size")Long size, @Param(value="channelId")Integer channelId);
}

xml文件应配置在和mapper平级的resources目录下或者修改yml中mybatis-plus的mapper映射路径

yml中修改如下(mybatis-plus和spring平级):
mybatis-plus:
  mapper-locations: classpath*:mapper/*.xml



xml文件中的内容:注意namespace要指定到需要配置的mapper上
<mapper namespace="com.jjw.article.mapper.ApArticleMapper">

    <select id="pageByOrder" resultType="com.jjw.article.pojo.ApArticle" parameterType="map">
        SELECT apa.* FROM ap_article apa LEFT JOIN ap_article_config aac on apa.id = aac.article_id
        <where>
            <if test="channelId != null and channelId != 0">
                and apa.channel_id=#{channelId}
            </if>
            and aac.is_delete=0
            and aac.is_down=0
        </where>
        order by publish_time DESC
        limit #{start},#{size}
    </select>
</mapper>

结构如下:
在这里插入图片描述

调用方式:

apArticleMapper.pageByOrder(start,size,body.getChannelId());

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/697934.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

腾讯云服务-云点播:删除腾讯云点播录制的视频文件(保存在腾讯云是需要收费的)

文档地址&#xff1a;登录 - 腾讯云https://console.cloud.tencent.com/api/explorer?Productvod&Version2018-07-17&ActionDeleteMedia 使用python后端删除&#xff1a; import json from tencentcloud.common import credential from tencentcloud.common.profile…

kafka入门,数据有序、数据乱序(十)

数据有序 数据乱序 max.in.flight.requests.per.connection指定了生产者在接收到服务器相应之前可以发送多个消息。 kafka在1.x版本之前保证单分区有序&#xff0c;条件如下 max.in.flight.requests.per.connection1 2) kafka在1.x及以后版本保证数据单区间分区有序&#xff0…

vue 函数式(编程式) render (functional:true)

文章目录 一、文档二、区别三、使用h函数的参数解释&#xff1a;参数一&#xff1a;使用导入的组件名 参数二&#xff1a;绑定css绑定事件往组件里面传递参数动态绑定值props动态绑定值datafunctional:true到底是做什么的&#xff1f;动态绑定props 非functional:true版本 参数…

JSONUtil.toJsonStr 时间变成了时间戳

问题描述 我的接口是以Date来接收日期的&#xff0c;然后我在拿到这个对象参数后&#xff0c;通过hutool当中的JSONUtil.toJsonStr将其序列化成json字符串&#xff0c;然后存储到数据库。然后存储到数据库当中发现这个字段是时间戳。 DateTimeFormat和JsonFormat 前者是控制 请…

动态规划详解Python

动态规划 动态规划&#xff08;Dynamic Programming&#xff09;是一种用于解决复杂问题的算法设计方法。它通常用于优化问题&#xff0c;其中问题可以被分解成一系列重叠子问题&#xff0c;通过存储并重复使用已经解决过的子问题的解&#xff0c;可以避免重复计算&#xff0c…

区块链的简单认识

比特币作为区块链的应用&#xff0c;让区块链广为人知&#xff0c;如果比特币作为第一代区块链&#xff0c;则以太坊则称为第二代区块链。我们知道&#xff0c;区块链的最主要目的就是去中心化&#xff0c;比特币则成为了decentralized currency&#xff0c;去中心化在技术上依…

跨注册中心服务同步实践

博主介绍&#xff1a;✌全网粉丝4W&#xff0c;全栈开发工程师&#xff0c;从事多年软件开发&#xff0c;在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战、定制、远程&#xff0c;博主也曾写过优秀论文&#xff0c;查重率极低&#xff0c;在这方面…

助你丝滑过度到 Vue3 创建工程 ②③

作者 : SYFStrive 博客首页 : HomePage &#x1f4dc;&#xff1a; VUE3~TS &#x1f4cc;&#xff1a;个人社区&#xff08;欢迎大佬们加入&#xff09; &#x1f449;&#xff1a;社区链接&#x1f517; &#x1f4cc;&#xff1a;觉得文章不错可以点点关注 &#x1f449;…

同城跑腿独立版小程序 码科跑腿小程序 支持用户端 骑手端

是独立版哦&#xff0c;不是微擎的 搭建有点复杂&#xff0c;只要一步错就会导致骑手端来单没有声音提示. 多的也不介绍了&#xff0c;不知道的朋友可以百度一下码科跑腿就知道了&#xff01;

机器学习李宏毅学习笔记33

文章目录 前言一、神经网络压缩二、Network pruning----一种network compression技术1.移除不同单位的区别2.大乐透假说 总结 前言 神经网络压缩&#xff08;一&#xff09; 类神经网络剪枝&#xff08;pruning&#xff09; 一、神经网络压缩 简化模型&#xff0c;用比较少的…

netty_客户端和服务端,定长数据输出案例

步骤1&#xff1a;创建server import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelInitializer; import io.netty.channel.ChannelOption; import io.netty.channel.EventLoopGroup; import io.netty.channe…

美团小游戏守卫羊村玩法介绍和游戏漏洞

序言 这款游戏是一个解压小游戏&#xff0c;是我在闲暇时发现的&#xff0c;然后就使用它来度过无聊的碎片化时间。这是一款传统的塔防类游戏&#xff0c;建议大家可以试试&#xff0c;玩法有很多种&#xff0c;当然它的游戏优化还是不太行&#xff0c;建议多优化优化。 玩法…

十二、Jenkins构建完成发送飞书消息通知

十二、Jenkins构建完成发送飞书消息通知 1. 创建一个飞书webhook 群机器人 得到一个飞书webhook地址&#xff1a; https://open.feishu.cn/open-apis/bot/v2/hook/2d0b6357-333a-4077-9fcd-61e361a3e51e 2. send_notice.py上传到jenkins服务器目录 send_notice.py最后面 代码…

移动硬盘中安装Ubuntu 20.04系统——立省99%的问题

目录 关于我为什么要在移动硬盘中装系统 准备工作 开始安装 磁盘分区 创建虚拟机 关于我为什么要在移动硬盘中装系统 (6条消息) 笔记本安装双系统ubuntu时踩的坑——戴尔_放风筝的猪的博客-CSDN博客 准备工作 1.移动硬盘 2.Ubuntu镜像 3.VMware虚拟机 Ubuntu镜像可以从…

Linux查看版本号,lsb_releasa过时了,得用uname -a

突然想查看Linux版本号了 然后终端输入lsb_release,结果给我报错No LSB modules are available. 然后网上一查发现Linux 版本是 Ubuntu 11.1.0 或更高版本,则 lsb_release 命令可能已经被弃用。 这是由于 lsb-release 命令已经不再维护,并且由于安全问题而被移除。 因此,对于…

基于matlab使用迭代最近点算法组合多个点云以重建三维场景(附源码)

一、前言 此示例演示如何使用迭代最近点 &#xff08;ICP&#xff09; 算法组合多个点云以重建三维场景。 此示例将使用 Kinect 捕获的点云集合拼接在一起&#xff0c;以构建场景的更大三维视图。该示例将 ICP 应用于两个连续的点云。这种类型的重建可用于开发对象的 3D 模型…

关于Realvnc远程Aero效果异常解决方案

默认安装realvnc server后&#xff0c;远程时如下图所示&#xff0c;windows areo效果丢失且提示“配色方案已经更改为windows 7 basic”&#xff1b; 解决方案&#xff1a;取消勾选&#xff0c;user mirror drive to capture screen 在远程时效果恢复如下&#xff1a;

类中的函数重载

函数重载回顾 函数重载的本质为相互独立的不同函数 C 中通过函数名和函数参数确定函数调用 无法直接通过函数名得到重载函数的入口地址 函数重载必然发生在同一个作用域中 类中的成员函数可以进行重载 构造函数的重载 普通成员函数的重载 静态成员函数的重载 问题 全局…

微软发布「升级版」多模态大模型 Kosmos-2!新增局部理解能力,解锁实体级交互

夕小瑶科技说 原创 作者 | 小戏、ZenMoore 三个多月前&#xff0c;微软亚洲研究院在论文《Language Is Not All You Need: Aligning Perception with Language Models》中发布了一个强大的多模态大模型 Kosmos-1&#xff0c;成功将感知与语言对齐&#xff0c;在 ChatGPT 的多…

C#串口通信从入门到精通(26)——多个串口多个线程发送数据和接收数据

前言 我们在开发串口程序的过程中有时候会遇到多个串口,并且多个串口也需要在多个线程进行操作,本文就来讲解如何实现多个串口在多线程下的安全发送与接收。 1、操作界面与测试过程 我们首先使用虚拟串口助手虚拟COM1、COM2这一对串口;COM3、COM4这一对串口,然后使用代码…