【Java】Mybatis的mapper文件怎么简化参数写法?
 List<PlanSoPO> listPageWithProductOrCode(@Param("args") PageQueryArgs args);

mapper类里是怎么定义的
PageQueryArgs这个是一个实体类,这个实体类里有一个Map对象叫filters

我想在xml中使用这个实体里的Map对象作为参数

目前我是这样写的

 <if test="args.filters.code != null and args.filters.code != ''">
            AND code = #{args.filters.code}
        </if>

我每用一个参数就要args.filters.xxx

我觉得太长了,有没有什么简便的写法?

0

2个回答

直接传map对象进去,不就可以了#{code}

0
qq_36291682
shadowPK小明 回复u011856283:如果放到map中 if标签就可以直接 <if test="code != null and code != ''"
11 个月之前 回复
u011856283
你好杰米 那if标签里面也可不用写了是吗
11 个月之前 回复

如果你的parameterType指向了那个实体类,里面的变量可以在if里直接用的。

  <select id="findNotices"   parameterType="com..manage.entity.NoticeEntity">   
     <if test="noticeName!=null and noticeName!=''">
                and NOTICENAME=#{noticeName}
       </if> `

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
MyBatis配置文件Mapper增删改查标准写法(包含jdbcType配置)
&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&amp;gt; &amp;lt;!DOCTYPE mapper PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot; &quot;http://mybatis.org/dtd/mybatis-3-mapper.dtd&quot; &amp;gt; &amp;lt;mapper namespace=&quot;com.baiz
mybatis常用技巧(mapper文件)
2 mapper文件篇 本篇总结一下编写mapper文件常用的技巧。 2.1 基本select 基本结构如下: parameterType就是查询参数类型 resultType就是查询结果的类型 这些类型都是完整的类名,如 SELECT count(*) AS count ,STATUS AS status,STATUS_NAME AS statusName FR
mybatis 中IN 查询写法
这个问题昨天困扰了我2个小时,终于在同事的开导下,这么写出来了,其实这种方法以前也写过,但是忘记了,现在发表到博客上面备忘。 [code=&quot;java&quot;] /** * 获取性别分析指标 * * @author shangql * @date 2013-1-17 * @param date * @return ...
mybatis的xml中sql语句中in的写法
这里使用 foreach标签 separator="," close=")"> #{item} foreach元素的属性主要有 item,index,collection,open,separator,close。 item表示集合中每一个元素进行迭代时的别名. index指 定一个名字,用于表示在迭代过程中,每次迭代到的位置. open表示该语句以什么开始
mybatis调用存储过程映射文件的写法
&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&amp;gt; 定义映射文件 &amp;lt;!DOCTYPE mapper  PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot;  &quot;http://mybatis.org/dtd/mybatis-3-mapper.dtd&quot;&amp;gt;   &amp;lt;!-- 此文件主要用于编写sql语句 
mybatis中mapper传集合写法
传map参数:这样就行 select from ip_info_record r where r.unitid = #{unitid} AND r.recordmoment = #{recordmoment} AND r.dealmode in #{item}
Mybatis总结一——日期比较,参数传递,Mapper文件的编写
1 参数传递 (1)如果不想把参数放在一个对象内封装,使用多个参数。 Dao接口层方法传参: Integer selectAnnualSales(@Param("tenantId")String tenantId,@Param("beginDate") String beginDate,@Param("endDate")...
mybaitis 的 mapper.xml 文件中 参数为List集合SQL 的写法。
1、应用场景: 传参:MaterialCodeList, activity_end_time,userCode具体SQl: 的验证: "MaterialCodeList != null and MaterialCodeList.size()>0" 循环: 循环体:item 序号:index 集合:collection 分割符:separator select id="select
mybatis一对多两种mapper写法
mybatis一对多两种mapper写法 第一种 &amp;lt;resultMap type=&quot;com.example.demo.model.TuserModel&quot; id=&quot;extendMapper&quot;&amp;gt; &amp;lt;id column=&quot;id&quot; property=&quot;id&quot; /&amp;gt; &amp;lt;result column=&quot;user_name&quot; property=&q
Mybatis中自定义mapper.xml时,参数传递的方式及写法总结
在使用mybatis框架时,大多时候自动生成的mapper.xml文件能满足我们所需的数据库操作,但一些情况下还是需要我们自己写sql;为了加深印象,总结了下参数传递的方式以及各个关键字的含义如下: 语句中接收参数的方式有两种: 1、 #{}预编译 (可防止sql注入) 2、${}非预编译(直接的sql拼接,不能防止sql注入) 参数类型有三种: 1、 基本数据类型 2、 HashMap(使用方式...
Java-11-在Mybatis中,Mapper里写一个创建PostgreSQL数据表语句
开门见山:动态创建一个表:参数分别是tableName、pkey&amp;lt;!--创建新账户交易表--&amp;gt; &amp;lt;update id=&quot;createAccountHistoryTable&quot; parameterType=&quot;java.util.Map&quot;&amp;gt; CREATE TABLE ies.&quot;${tableName}&quot; ( id s...
MyBatis Mapper XML文件详解 - 映射和参数 ——学习
MyBatis 的真正强大在于它的映射语句,也是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码。MyBatis 就是针对 SQL 构建的,并且比普通的方法做的更好。  1、select(查询)
mybatis 多表关联mapper文件写法
两张表SystemParam(系统参数表) Suit (主题) SystemParam 与 Suit 是多对一 Suit 的higerSuit字段是Suit 的父及主题id 是多对一,需要自连接查询,因为重名所以父表sql字段加别名 mapper方法 Systemparam selectJoinSuit(String strparamcode); Po类 public class ...
Mybatis中Mapper.xml文件中的update语句写法
update CT_SYS_DUTYREAL DUTYREAL_UID = #{dutyrealUid,jdbcType=DECIMAL}, DUTYRULE_ID = #{dutyruleId,jdbcType=DECIMAL}, DUTYREAL_ST = #{dut
mybatis 的like语句写法
oracle数据库:  Java代码   SELECT   *   FROM   user   WHERE   name like CONCAT('%',#{name},'%')   或  Java代码   SELECT   *   FROM   user   WHERE   name like '%'||#{name}
mybatis的mapper.xml用条件判断做转译
CASE type WHEN 0 THEN '审核中' WHEN 1 THEN '审核通过' WHEN 2 THEN '审核失败' END AS typeDesc,举个栗子: <select id="selectTransferStatisticsList" resultType="com.tansen.test.AuditVo">
Mybatis中的mapper文件相关字符的转义写法
mybatis 中 SQL 写在mapper.xml文件中,而xml解析 &amp;lt; 、&amp;gt;、&amp;lt;=、&amp;gt;= 时会出错,这时应该使用转义写法。 方式一 &amp;lt;     &amp;lt;=     &amp;gt;     &amp;gt;=     &amp;amp;    '     &quot; &amp;amp;lt;    &amp;amp;lt;=     &amp;amp;gt;  ...
关于Mybatis中mapper.xml的传入参数简单技巧
由于在做项目的时候,我看见同事使用的传入参数类型各式各样,感觉没规律可言,闲暇的时候我就自己搭建了项目做了一些传入参数的测试(当然其实更好的方式是看源码,但是博主能力有限,毕竟入行没多久,看起来很吃力,只能靠测试来找规律,下面是我发现的小技巧,我测试的是3.4.x版本的,猜想应该现在用的版本规律都差不多); 首先声明,常用的不管传入参数是什么,sqlStatement中的parameterTyp
mybatis一对多和多对一种mapper的写法
http://blog.csdn.net/rain097790/article/details/13615291
MyBatis的模糊查询mapper.xml的写法
模糊查询语句不建议使用${}的方式,还是建议采用MyBatis自带的#{}方式,#{}是预加载的方式运行的,比较安全,${}方式可以用但是有SQL注入的风险!!! 1.直接传参 在controller类中 String id = &quot;%&quot;+ id +&quot;%&quot;; String name = &quot;%&quot;+ name +&quot;%&quot;; dao.selectByIdAndName(id,name); 在map...
Mybatis | SQL Server Mapper. xml文件中调用存储过程的方式
Mybatis SQL Server调用存储过程的方式如下图:
mybatis OR语句的写法
/** * 根据关键字获取[相关资讯]列表 * WHERE * DELETED = ? * AND STATE = ? * AND ( KEYWORDS LIKE '%aaa%' or TITLE '%aaa%' ) OR ( KEYWORDS LIKE '%bbb%' or TITLE '%bbb%' ); * * @pa
【MyBatis】在MyBatis中使用in语句
用法: Mapper.java中 使用Map传递数值,在xml文件中可以使用同Map中key的名字作为接收值的关键字。 Mapper.xml中 在xml中用foreach标签遍历key所对应的value。注意: 可能出现key对应value传过来的值为空的情况,所以在创建value时可以提前传入一个值来防止这种情况。
Mybatis-plus中mapper.xml文件 模糊查询写法
Mybatis-plus中mapper.xml中模糊查询写法 select * from t_user_info a where a.telephone like concat('%',#{phoneMumber},'%') 匹配手机号码前4位为&quot;1368&quot;的手机号码 select * from t_user_info a where a.telephone like concat('1368'...
电商平台学习笔记(四)——Spring配置Mybatis简化DAO层省略Mybatis核心配置文件
今天看到电商视频教程第三天的时候,惊奇的发现,这个电商平台一共有16张表!加上MyBatis的模板Bean,一共32个Bean!如下图: 想到这里,如果有Mybatis的核心配置文件:mybatis-config.xml!仅对每一JavaBean使用标签就得使用32个,使用标签也得使用16个来包括对应的每一张表的配置文件!这种工作量是很大的!(关键还没有技术含量,只是不断的重复使用Ctr
Mybatis框架中Mapper文件传值参数获取。【Mybatis】
Mybatis框架中,Mapper文件参数获取一般有以下几种: 1、参数个数为1个(string或者int) dao层方法为以下两种: /** * 单个int型 */ public List findByDepartmentId(int dapartmentId); /** * 单个string型 */ public Source findByTitle(String
MyBatis接口与xml写法对照表
操作类型 参数类型 返回值类型 示例 查询 String List public List getStudentByName(@Param(value="name") String name);     select * from xxx where stu_name = #{name} Map List public List getStuden
mybatis 模糊查询 mapper.xml的写法
1. sql中字符串拼接    SELECT * FROM tableName WHERE name LIKE CONCAT(CONCAT('%', #{text}), '%');   2. 使用 ${...} 代替 #{...}    SELECT * FROM tableName WHERE name LIKE '%${text}%';
mybatis中mapper进行if条件判断
目的: 在使用mybatis框架中mapper文件有自动生成,但有时需要自己添加sql语句进行开发,当遇到需要使用 if进行条件判断的时候该怎么写? 查询sql语句如下: select * from db_trd.tb_trd_secu_order where order_status=6 and channel_no = #{channelNo,jd
Mybatis的Dao向mapper传多个参数(三种解决方案)
第一种方案  DAO层的函数方法  Public User selectUser(String name,String area);     对应的Mapper.xml   select * from user_user_t where user_name = #{0} and user_area=#{1} 其中,#{0}代表接收的是dao层中的第一个参数,#
mybatis的使用-Mapper文件各种语法
一、查询 mybatis自定义查询条件,queryString、queryMap、limit,Mapper文件写法如下: SELECT * FROM user WHERE 1 = 1 and ${paramString}
如何在MyBatis的mapper.xml文件编写批量新增的语句?
dao 层提供的接口如下: /** * 批量增加用户 * @param userList * @return */ public int addUserBatch(List&amp;lt;Test&amp;gt; testList); 这里为了添加记录方便,用了一个简单的 Test 实体类: package com.qjl.ssm.sysmanage.entity; public clas...
mybatis的mapper映射文件中insert的用法
insert元素,这个标签还有如下属性: 1,id:命名空间中的唯一标志符,可用来代表这个语句。 2,parameterType:即将传入的语句参数的完全限定类名或者别名 3,flushCash:默认值为true,任何时候只要语句被调用都会清空一级缓存和二级缓存。 4,statementType:对于STATEMENT,PREPARED,CALLABLE,mybatis会分别使用对应的st
MyBatis 通过Java Bean传递多个参数
示例【MyBatis 通过Java Bean传递多个参数】 创建User package com.po; public class User { private Integer uid; private String username; private String password; public Integer getUid() { return uid; } publi...
mapper.xml中SQL语句in的写法
"bank != null">             AND BINBANKID in             "bank" index="index" item="item" open="(" separator="," close=")">              #{item}              PS:其中bank为list。
Mybatis传多个参数(三种解决方案) mapper.xml的sql语句修改!
第一种方案  DAO层的函数方法  ? 1 Public User selectUser(String name,String area); 对应的Mapper.xml   ? 1 2 3 select id="select
Mybatis-Dao层开发之Mapper接口
相关链接: 相关配置文件:详见 http://blog.csdn.net/qq_28796345/article/details/53427020 基本配置:详见 http://blog.csdn.net/qq_28796345/article/details/53402808 dao接口开发实现:详见 http://blog.csdn.net/qq_28796345/a
关于Mybatis中Mapper.xml文件传多个参数和like问题
传一个参数:如String类型: parameterType=“java.lang.String” 传多个参数时: 不添加parameterType说明传参类型时: (1),用顺序对应,0,1形式,未成功 dao层.java文件 mapper.xml文件 (2)用注解对应,成功 dao.java函数 mapper.xml文件 添加参数类型说明,用对象 模糊查询like问题 未成功: L...
mybatis_关于mapper映射文件及参数
一、关于mapper映射文件实体类和表是怎么对应起来的呢?上面的例子中刚好personBean和t_person表中的字段一一对应,数量、类型刚好相同。如果此时修改一下表中的字段名,如,将username改为name,再次测试报错: 从日志中看出是插入时使用的字段名不正确,那么直接修改映射文件插入时的名字可以吗: 测试发现,插入数据成功,但是查询的映射方法如下: 所以查出来的数据username都...
Mapper 文件中SQL不等于的写法
Mybatis中的mapper文件中不等于的几种写法 在XML文件中是不可以直接使用 &amp;lt; 、&amp;gt;、&amp;amp;的,语法检查会报错误。如需使用,需要将其转义为对应的实体。 预期执行SQL效果:select t.name form tablenme t where t.code &amp;lt;&amp;gt; 1; 第一种:转义 &amp;amp;lt; &amp;lt; (小于) &amp;amp;...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java中倒班的写法 java中有关倒班的写法