V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  m1ch3ng  ›  全部回复第 1 页 / 共 6 页
回复总数  109
1  2  3  4  5  6  
6 天前
回复了 zzerd 创建的主题 推广 自已家的赣南脐橙开卖,给 v 友抽几箱
我来当分母了
94 天前
回复了 todayswind 创建的主题 游戏 黑神话,你们到哪里了?
30 小时,刚打完二姐
94 天前
回复了 todayswind 创建的主题 游戏 黑神话,你们到哪里了?
@xiaomayi000 #41 要去拿定风珠才好打
@darksheen #53 iOS18 已经有了
@fzls #119 爆仓是所有进去的钱都血本无归吗
@misaki321 #16 请教下爆仓是什么意思,问了 AI 也有点云里雾里
124 天前
回复了 yfixx 创建的主题 问与答 手机换电池哪个渠道比较靠谱
同问苹果换电池靠谱渠道
124 天前
回复了 bananaMan 创建的主题 生活 有没有 v 友一样喜欢雨天写代码
属于 i 人的宁静时刻
124 天前
回复了 tongjiann 创建的主题 程序员 有一个代码的设计问题,大佬们帮帮我
自己研究了下解决了,代码如下:
@Override
protected void processSelect(Select select, int index, String sql, Object obj) {
// 默认情况下,直接加到最外层查询的 where 后面
PlainSelect plainSelect = (PlainSelect) select.getSelectBody();
if (select.toString().contains("ROWNUM")) {
// oracle 分页的情况,需要找到最内层的查询,然后加到 where 后面
plainSelect = getInnerSelect(plainSelect);
}
// 给查询添加条件
GreaterThanEquals greaterThanEquals = getGreaterThanEquals();
Expression where = plainSelect.getWhere();
plainSelect.setWhere(where == null ? greaterThanEquals : new AndExpression(where, greaterThanEquals));
}

private static PlainSelect getInnerSelect(PlainSelect select) {
if (select.getFromItem() instanceof SubSelect) {
PlainSelect fromSelect = (PlainSelect) ((SubSelect) select.getFromItem()).getSelectBody();
return getInnerSelect(fromSelect);
}
return select;
}

@NotNull
private static GreaterThanEquals getGreaterThanEquals() {
GreaterThanEquals greaterThanEquals = new GreaterThanEquals();
greaterThanEquals.setLeftExpression(new Column("created_time"));
greaterThanEquals.setRightExpression(new DateValue("'2024-07-26'"));
return greaterThanEquals;
}
124 天前
回复了 tongjiann 创建的主题 程序员 有一个代码的设计问题,大佬们帮帮我
@andy2415 #19 试了下,oracle 分页遇到了一个问题,sql 打印:

==> Preparing: SELECT * FROM (SELECT TMP.*, ROWNUM ROW_ID FROM (SELECT id, serial_number, command, sap_no, product_no, voucher_id, voucher_detail_id, voucher_details_id, record_status, remark, created_time, updated_time, pro_factory, batch_no, product_date, expire_date, product_num, pro_unit_cost, rx_flag, operator_name, operate_date, total_amount, price, old_voucher_id, old_voucher_details_id, spp_hsbl, settlement_time FROM POS_INVENTORY_UPLOAD_RECORD WHERE (command = ?)) TMP WHERE ROWNUM <= ?) WHERE ROW_ID > ? AND created_time >= {d '2024-07-26'}
==> Parameters: SALE_OR_REFUND_SALE(String), 4(Long), 2(Long)
<== Total: 0

其中 created_time >= {d '2024-07-26'} 是我自定义拦截器加的 GreaterThanEquals ,然而 mybatis-plus 在 oracle 场景下把它放在了最外层查询里面,如果想要实现放在 WHERE (command = ? AND created_time >= {d '2024-07-26'}),请问该如何调整?

P.S. 我配置的自定义拦截器顺序是放在分页插件后面的
@mansingular 去营业厅办理的,今年好像涨价了
深圳移动 30 一个月 500M 打 LOL 稳定 20ms 以下
买个腰靠试试
前公司的 hr 说放出去一个 java 岗位就能收到几百份简历
336 天前
回复了 superliwei 创建的主题 分享创造 国产软件征集中文名字
我觉得你可以把你对名字的需求和风格告诉 GPT ,让它帮你想一想
2023-11-08 14:35:14 +08:00
回复了 smallpampan 创建的主题 随想 一个人在海底捞过生日是怎么样的体验?
生日快乐!
2023-11-08 10:33:22 +08:00
回复了 stardustree 创建的主题 生活 哎,早产的娃严重脑出血,要放弃治疗了...
节哀
2023-06-21 09:22:42 +08:00
回复了 buried 创建的主题 旅行 端午 去长沙玩,有啥建议吗
建议是不去
1  2  3  4  5  6  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2944 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 37ms · UTC 15:00 · PVG 23:00 · LAX 07:00 · JFK 10:00
Developed with CodeLauncher
♥ Do have faith in what you're doing.