【若依(ruoyi)】向DAO中传递动态参数

4 篇文章 0 订阅

向DAO中传递动态参数

比如,mapper中这样定义selectUserList:

<select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult">
	...
</select>

上面的SysUser为orm类,SysUser的属性是sys_user表的字段。基于若依(ruoyi)自动生成的代码如何进行时间段检索呢?此时需要向DAO中传递动态参数。

假如按照用户的创建时间做时间段检索,可以这样做:

<select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult">
	...
	where u.del_flag = '0'
	<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
		AND date_format(u.create_time,'%Y%m%d') &gt;= date_format(#{params.beginTime},'%Y%m%d')
	</if>
	<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
		AND date_format(u.create_time,'%Y%m%d') &lt;= date_format(#{params.endTime},'%Y%m%d')
	</if>
</select>

上面的params.beginTimeparams.endTime就是动态参数(beginTimeendTimeSysUser类中不存在的属性,但,通过SysUser父类中params属性添加到了SysUser类中)。

调用DAO时,传递动态参数

SysUser user = new SysUser();
Map<String, Object> params = user.getParams();
params.put("beginTime", '2020-01-01');
params.put("endTime", '2020-01-31');
sysUserService.selectUserList(user);

页面上提交表单时,传递动态参数

<form id="user-form">
	<div class="select-list">
		<ul>
			<li class="select-time">
				<label>创建时间: </label>
				<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params['beginTime']"/>
				<span>-</span>
				<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params['endTime']"/>
			</li>
			<li>
				<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
			    <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
			</li>
		</ul>
	</div>
</form>
@RequiresPermissions("system:user:list")
    @PostMapping("/list")
    @ResponseBody
    public TableDataInfo list(SysUser user)
    {
        startPage();
        List<SysUser> list = userService.selectUserList(user);
        return getDataTable(list);
    }

DATE_FORMAT

SELECT DATE_FORMAT('2020-10-09 08:30:00',   '%Y-%m-%d %H:%i:%S');
SELECT DATE_FORMAT('2020-10-09',   '%Y-%m-%d');
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值