mybatis plus中编写sql语句

2023-10-27

sql 语句是写在对应的xml文件中
首先要解决maven默认不加载xml文件的问题
1 首先要写入相关配置文件
在pom 导入下面内容

 <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
        </resources>
    </build>

在application中写入如下内容

mybatis-plus:
  mapper-locations: classpath*:**/xml/*.xml

2在对应的serviceimpl中调用baseMapper 接口,应为在mybatis plus 中对应的serviceImpl 接口继承自对应的mapper接口,mapper接口又继承自baseMapper 接口。
在这里插入图片描述

在这里插入图片描述

比如说

baseMapper.countRegisterDay(day)

4 在mapper文件中编写对应的接口

 Integer countRegisterDay(String day);

3 在对应的xml 中编写sql语句
id 为方法的名字。resultType 为方法返回的类型

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.boshrong.ucentor.mapper.UcenterMemberMapper">
    <select id="countRegisterDay" resultType="java.lang.Integer">
        select count(*) from ucenter_member um where DATE (um.gmt_create)=#{day}
    </select>

</mapper>

注意若传入的值有多个参数怎么解决?
比如说方法为

 Integer countRegisterDay(String day,String time1);

sql 中获取多个值的方法可以有两种
1 方法一 ,通过索引获取
#{0} 获取day的值, #{1} 获取time1的值
2 方法二, 通过@Param获取

 Integer countRegisterDay(@Param ("aa")String day,@Param ("bb")String time1);

#{aa},#{bb} 获取

#{} 与 ${} 的区别
#{} 是预编译处理,是占位符。 Mybatis 在处理 #{} 时,会将sql 中的#{} 替换成?号,调用PreparedStatement 来赋值。
${} 是字符串替换,是拼接符。 就是会将 KaTeX parse error: Expected 'EOF', got '#' at position 30: …Statement 来赋值。 #̲方式能够很大程度防止sql注入…方式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mybatis plus中编写sql语句 的相关文章

  • Gradle 同步失败:配置项目“:lib”时出现问题

    我正在尝试在 android studio 中构建一个项目 但它总是失败 并出现名为 org gradle api ProjectConfigurationException A problem occurred configuring p
  • 删除 PriorityQueue 的顶部?

    假设我使用 Java util 中的 PriorityQueue 类 我想从 PriorityQueue pq 中删除最大的数字 我们假设它位于队列的头部 下面的工作会起作用吗 1 int head pq peek pq dequeue h
  • Java 将 String[] 转换为 int[]

    我有一个 String 其中每个元素都可以转换为整数 将其转换为 int 的最佳方法是什么 int StringArrayToIntArray String s public static int StringArrToIntArr Str
  • Android Studio 中没有参考文档

    昨天刚刚出现了一个新问题 当我将鼠标悬停在方法上或按 Ctrl Q 时 我通常会获取该特定方法的文档信息 但现在我只是得到 按 Ctrl QSharedPreferences getLong Following external urls
  • 检查 jar 是否从 shell 运行

    我有一个 java jar 程序 我试图在我的机器启动时运行它 理想情况下 shell 脚本将每 60 秒检查一次以确保 jar 正在运行 我如何检查 jar 是否在 centos 上运行 这似乎不起作用 我当前的 sh 文件 bin ba
  • Java 内存错误:无法创建新的本机线程

    运行 java 服务器时 我在 UNIX 服务器上收到此错误 Exception in thread Thread 0 java lang OutOfMemoryError unable to create new native threa
  • 从 SQL XML 列中的元素获取属性名称

    对于此 xml 在 SQL 2005 XML 列中
  • Java GUI,根据actionListener更改面板

    我在两个不同的面板中添加了两个按钮 如果单击第一个按钮 则需要转到下一个面板 其中包含第二个按钮 但是当我单击第一个按钮时 该按钮没有被替换 Java GUI import java awt event ActionEvent import
  • 在 Android 上解析 RSS

    我有几个 RSS 源需要为我的应用程序进行解析 我按照这里的优秀教程进行操作 http w2davids wordpress com android rssatom feeds parsing with rome http w2davids
  • 测试正确的时区处理

    我们正在处理大量数据 所有数据均以 UTC Java 语言 标记 在读取这些数据 将其存储在数据库中以及再次将其取出之间 发生了一些数据在夏令时期间关闭一小时的情况 由于 UTC 没有夏令时的概念 这显然是软件中的一个错误 一旦知道 就很容
  • Android Studio安装JDK错误

    In Android Studio I am facing bellow error 当我按下时会显示此弹出窗口Alt Enter对于缺少的类 符号 当我点击 setup SDK 时 它显示两个选项 1 8 Java版本 1 8 0 60
  • 使用 spring mvc 的多个域

    假设我有一个应用程序必须缩短 URL 但还要执行其他操作 喜欢google com and goo gl or facebook com and fb me 部署两个应用程序很容易 但 目前 仅部署一个应用程序更简单 使用 spring 和
  • Spring 4 MVC 和 Websockets - 没有合适的默认 RequestUpgradeStrategy

    我需要 Websockets 在我的应用程序中进行实时更新 所以我找到了这个例子并一步一步地做到了here http raymondhlee wordpress com 2014 01 19 using spring 4 websocket
  • xslt 展平 DocBook para 元素中的子元素

    我正在将一些生成的 DocBook xml 来自 Doxygen 转换为我公司的 xml 这实际上是 DocBook 的子集 有一个类似如下的 para 元素
  • 如何列出所有已加载的 Spring bean 定义文件

    在大型企业系统中 并不总是清楚在 ApplicationContext 构建期间导入了哪些文件 有没有办法列出过程中加载的所有文件 我知道如何列出加载的属性文件 但不知道导入的 bean 文件 更新示例 文件 1 applicationCo
  • 我们可以将请求分派到 servlet 内的 HTML

    这可能吗 RequestDispatcher rd request getRequestDispatcher index html rd forward request response 是的 您可以将请求分派到 HTML 页面
  • python:xml.etree.ElementTree,删除“命名空间”

    我喜欢 ElementTree 解析 xml 的方式 特别是 Xpath 功能 我有一个带有嵌套标签的应用程序的 xml 输出 我想按名称访问此标签而不指定名称空间 这可能吗 例如 root findall molpro job 代替 ro
  • 如何在android中使用Room Persistence ORM工具实现created_at和updated_at列

    我该如何实施created at and updated at在Android中使用Room Persistence ORM工具的列 可以在创建或更新表中的行时自动更新时间戳 我研究了很多网站 但仍然没有找到任何可以处理的结果middlew
  • 使用 XPath 忽略/跳过已知或所有从属标签

    我使用 XPath 和 Hpple libxml2 来解析 iOS iPhone 操作系统中的 HTML 我现在想忽略某个标签 例如粗体标签 b 解析文档时 例如从代码来看 div foo b bar b div 应选择字符串 foo 和
  • 这种说法是否恰当。 if (0 != 表达式或变量) {} 在java中? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi

随机推荐

  • 4211 序列重排(构造、思维题--双关键字排序)

    1 问题描述 给定一个长度为 n 的整数序列 a1 a2 an 请你对序列进行重新排序 也可以保持原序列 要求新序列满足每个元素 第 1 个除外 都恰好是前一个元素的两倍或前一个元素的三分之一 保证输入一定有解 输入格式 第一行包含整数 n
  • 微信小程序:更改 顶部状态栏( "window")

    摘要 更改顶部导航栏 通常是指更改顶部状态栏的标题内容 标题颜色以及背景颜色 如下图所示 上图中小程序的顶部导航栏的标题内容 小程序 标题颜色 黑色 背景颜色 白色 配置 更改顶部导航栏 要用到组件 window 1 如果小程序有多个页面
  • uniapp Vant Weapp使用van-dropdown 下拉菜单时,关闭后遮罩下面的盒子无法触发点击

    是 uni app 底层的问题 你可以将 vant weapp dropdown item index wxml 里面的 van popup 的事件改成驼峰写法 afterEnter 和 afterLeave 就可以了
  • 实现基于LSTM的情感分析

    文章目录 实现基于LSTM的情感分析 1 情感分析 常用的数据集及开源库 1 1 常用数据集 1 1 1 亚马逊产品评价 1 1 2 Yelp餐饮评价 1 1 3 电影评价 1 1 4 亚马逊食品评价 1 1 5 航空公司Twitter评价
  • JeeSite入门介绍(一)

    JeeSite特点 高效 高性能 强安全性属于开源 JavaEE快速开发平台 接私活的最佳助手 JeeSite是在Spring Framework基础上搭建的一个Java基础开发平台 以Spring MVC为模型视图控制器 MyBatis为
  • 无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称

    前言 使用Pycharm创建新环境后 可能会使用pip安装一下包 但是会出现如下或类似如下报错 因为刚开始报错是显示ModuleNotFoundError No module named requests 所以就用pip instal re
  • Go Web编程实战(7)----并发goroutine

    目录 什么是goroutine 使用方式 什么是goroutine 在Go语言中 每一个并发执行的活动被称为goroutine 使用go关键字可以创建goroutine 其完整定义如下 go func name 其中 go是关键字 需要放在
  • junit5 mock静态方法 Mockito.mockStatic()

    junit5 mock静态方法 环境 jdk11 junit5 springboot pom
  • 记一次ubuntu无法显示图形化界面解决方法

    系统 16 04 因为未知问题 我的双系统ubuntu进入之后就只剩下了桌面 包括上方条形菜单栏和左侧图标都显示不出来了 并且ctrl alt T无法呼出终端 刚开始判断是系统的desktop出现了问题 重装了desktop和unity之后
  • linux重启ipv6_Linux关闭、开启、配置IPv6

    确认IPV6是否开启 如果出现含有以下粗体显示的部分 代表您的机器上IPV6已经开启 1 使用ifconfig查看自己的IP地址是否含有IPv6地址 inet6 addr fe80 213 d4ff fe05 b2ed 64 Scope L
  • 存储引擎

    什么是存储引擎 数据库相当于文件夹 表相当于文件 文件有多种不同类型 那么表也应该有不同类型 这句话说得真是太完美了 为什么乔碧萝还不来找我 表类型又称为存储引擎 存储引擎也称为表类型 Oracle和SQL server 等数据库只有一种存
  • 通过分析三篇物联网论文的分析与总结

    Title Abstract The importance of the IoT security research domain lies in its critical role in addressing the security c
  • java 后台 小程序微信支付

    java 后台 小程序微信支付 步骤说明 微信公众平台支付接口调试工具 1 生成字符串 appid appId body 测试商品名称 mch id 商户号 nonce str bf0d5ffe64fc44a3b0c101ead5a6a56
  • ElasticSearch 通用化批量存储封装设计

    ElasticSearch 通用化批量存储封装设计 一 设计需要满足的功能场景 二 约定 三 功能封装 1 枚举 2 定义接口 3 功能实现 一 设计需要满足的功能场景 为了满足在工作中 不用频繁的去写繁琐的 ES 存储的代码 一切都是为了
  • 页面正在加载中 ...

    lt script language JavaScript type text javascript gt var t id setInterval animate 30 var pos 0 var dir 2 var len 0 func
  • (正则)校验 8-16位,必须含有特殊字符、而大写字母、小写字母、数字至少包含其中两项

    function passwordValid str var rule lw a z uw A Z nw 0 9 sw lt gt function reg str patter var reg new RegExp patter if r
  • eclipse:the selection cannot be run on any server解决办法

    我导入一个项目 tomcat是7 0版本的 我的eclipse用的是8 5版本的 改了jar包后还是发现会出现如此错误 the selection cannot be run on any server 后来我就找到我的eclipse项目工
  • SVN分支

    Branch 选项会给开发者创建出另外一条线路 当有人希望开发进程分开成两条不同的线路时 这个选项会非常有用 比如项目 demo 下有两个小组 svn 下有一个 trunk 版 由于客户需求突然变化 导致项目需要做较大改动 此时项目组决定由
  • 【秋招必备】JVM性能调优面试题(2022最新版)

    作为 Java 的从业者 在找工作的时候 一定会被问及关于 JVM 相关的知识 JVM 知识的掌握程度 在很多面试官眼里是候选人技术深度的一个重要评判标准 小编分享的这份Java后端开发面试总结包含了JavaOOP Java集合容器 Jav
  • mybatis plus中编写sql语句

    sql 语句是写在对应的xml文件中 首先要解决maven默认不加载xml文件的问题 1 首先要写入相关配置文件 在pom 导入下面内容