栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MySQL设置变量以及如何在Mybatis中使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySQL设置变量以及如何在Mybatis中使用

在MySQL中设置变量,并在Mybatis中结合使用。

在程序中设置变量是一种很常见的行为,例如在java中:

int a = 1;
String str = "hello world";

而其实在MySQL中也有相应的变量设置,例如:

SET @a = 1;
SET @str = 'hello world';

SELECt @a, @str;

在MySQL中设置变量的基础格式规范为@开头,后面写变量名。注意,若不以@开头则设置变量失败。

而目前我们使用一个@符号开头定义的变量为用户变量,其他还有会话变量、局部变量、全局变量,这里不做赘述,详情请见参考资料。


接下来介绍在SpringBoot中的Mybatis中结合使用设置MySQL变量,实际用法与上面一致,唯一需要注意的是这里有个坑,正常情况下使用会报错(不信可以尝试一下),需要单独在数据库配置文件的数据库地址中加上一个属性allowMultiQueries=true,例如:

jdbc:mysql://127.0.0.1:3306/demo?allowMultiQueries=true

那么在MySQL中设置变量有什么用呢,以下举例为列表结果集提供递增序号,给结果集从1开始编序号。例如我设置一个变量@rownum=0,然后每次累加1作为序号(Tips:以下两句需要同时执行,因为一开始变量值总是需要置零):

SET @rownum=0;
SELECT (@rownum:=@rownum+1) as no, name from student;

另外还有其他更花的玩法,这里不做展开,读者可以自己尝试。

参考资料:

  • mysql查询并给每行添加自增序列,并解决在mybatis的xml中写mysql语句中的变量 如set @i=1

  • Mysql全局变量以谁为前缀_数据库以什么符号开头的是全局变量

  • MySQL变量的使用

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/328877.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号