Mybatis的Param注解对JavaBean的使用方法
发表于|更新于|Java
|总字数:196|阅读时长:1分钟|浏览量:
在使用MyBatis时,如果参数列表中传入的是一个JavaBean对象,那么在MyBatis的SQL中应该是如下使用方式。
如果参数中加了@Param,那么既可以使用#{}获取,也可以使用${}获取。
1 | @Select("SELECT id,username from user where age between #{queryParam.minAge} and #{queryParam.maxAge}") |
使用$获取
1 | @Select("SELECT id,username from user where age between ${queryParam.minAge} and ${queryParam.maxAge}") |
如果不使用@Param注解时,参数只能有一个,并且是Javabean。在SQL语句里可以引用JavaBean的属性,而且只能引用JavaBean的属性。
1 | @Select("SELECT id,username from user where age between ${minAge} and ${maxAge}") |
文章作者: Charles
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 码农笔记!
相关推荐

2018-03-07
Mybatis中大于和小于的编码方法
在使用MyBatis开发过程中,会将SQL编写在XxxMapper.xml中,由于>和<本身也是xml内容的一种,这会将其误认为是标签,所以在SQL中有>、<的时候会提示报错,可以使用下面两种方法去编码。 使用转义序列12< 可以使用 < 代替> 可以使用 > 代替 使用CDATA CDATA 全名:character data。所有 XML 文档中的文本均会被解析器解析,除了 CDATA 区段(CDATA section)中的文本会被解析器忽略。 CDATA的形式如下: <![CDATA[文本内容]]> 。 CDATA的文本内容中不能出现字符串]]>。另外,CDATA不能嵌套。 XML 实例: 在CDATA标记中的信息被解析器原封不动地传给应用程序,并且不解析该段信息中的任何控制标记。 CDATA区域是由<![CDATA[为开始标记,以]]>为结束标记,注意CDATA为大写。 示例: 12< 可以使用 <![CDATA[ < ]]>...

2016-08-02
Mybatis中selectKey的使用
本篇介绍一下Mybatis中selectKey的使用。 在开发过程中,CRUD是免不了的,在插入数据时,通常我们只需要返回受影响行数即可,但也有些场景需要返回插入数据后的主键ID,在Mybatis中只需要使用selectKey即可实现。 自增主键使用示例通常我们会将SQL写在MyBatis的*Mapper.xml文件中,本次示例也是如此 创建表1234567CREATE TABLE `t_user` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'UserId', `username` varchar(80) NOT NULL COMMENT 'username', `password` varchar(80) NOT NULL COMMENT 'password', `create_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT 'create_time...

2021-08-13
无网络环境使用Jenkins自动部署
背景环境要求 MySQL5.7 CentOS7 服务器主机已安装git 已经配置好JDK环境变量 申请开放两个端口的网络策略(本篇申请开发了92和93端口) 安装Gitea下载gitea12# 由于没有网络,所以根据这个地址手动下载即可wget https://dl.gitea.io/gitea/1.15.0/gitea-1.15.0-linux-amd64 安装gitea 将gitea-1.15.0-linux-amd64上传到/opt/gitea 目录下 1234567cd /opt/gitea# 做软链ln -s /opt/gitea/gitea-1.15.0-linux-amd64 gitea# 添加执行权限chmod +x gitea# 启动gitea,-p可修改端口nohup ./gitea web -p 92 & 配置gitea访问http://10.10.10.10:92即可配置gitea,主要配置mysql和http地址,以及管理员。 配置完成后即可完成gitea的部署,代码仓库这一块的问题就解决了。 安装Jenki...

2017-09-12
JVM参数Xms Xmx PermSize MaxPermSize 区别
常见的JVM参数配置机器含义123456-vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M-vmargs 说明后面是VM的参数,所以后面的其实都是JVM的参数了-Xms128m JVM初始分配的堆内存-Xmx512m JVM最大允许分配的堆内存,按需分配-XX:PermSize=64M JVM初始分配的非堆内存-XX:MaxPermSize=128M JVM最大允许分配的非堆内存,按需分配 我们首先了解一下JVM内存管理的机制,然后再解释每个参数代表的含义。 堆(Heap)和非堆(Non-heap)内存按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给自己用的,所以方法区、JVM内部处理或优化所需的内存(如JIT编译...

2023-03-28
SpringBoot与Redis Stream整合实现消息队列
最近需要做一个简单的埋点工作,考虑到发送数据比较密集,每次都将数据实时写入那肯定不合理,于是就考虑利用消息队列做一下缓冲,避免过多的写入造成对系统的影响,这种场景拍脑门一想就是利用kafka或者rabbitmq来实现,但目前现状是申请网络策略非常麻烦,为了一个小功能再引入一个新的中间件也比较浪费,于是就想着利用redis stream来实现了。 环境要求 Redis 5.0以上,因为Redis5才新增的stream数据类型,具体可参考Redis Streams tutorial | Redis 具体实现依赖确认项目中依赖有spring-boot-starter-data-redis,如果没有的话请添加如下: 1234<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency> application.y...

2019-08-06
CentOS安装OpenJDK1.8
因Oracle JDK自1.8.191开始就对企业服务进行付费使用了,那么公司的应对方案要么将JDK锁定在免费服务期的版本,要么就使用OpenJDK替代Oracle JDK,这两者本身出自同一份源码,Oracle JDK只不过比Open JDK多了一些特殊的功能(例如监控),那么我就用OpenJDK来代替OracleJDK。下面记录一下安装OpenJDK 8的步骤。 使用Yum安装OpenJDK 8对于Java来说,通常分为jre运行时环境和JDK开发工具包,高版本的Java已经将他们合二为一了。那么JDK 8还是分开安装的。可使用如下命令安装: 1yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel java-1.8.0-openjdk仅安装了jre,java-1.8.0-openjdk-devel则是JDK环境。 使用如下方式配置环境变量: 12345cat > /etc/profile.d/java8.sh <<EOF export JAVA_HOME=$(dirname $(dirname...
评论
WalineDisqus
公告
收集笔记






