V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  vishun  ›  全部回复第 5 页 / 共 12 页
回复总数  228
1  2  3  4  5  6  7  8  9  10 ... 12  
2024-07-12 08:56:55 +08:00
回复了 sleepingdog 创建的主题 Windows win11 的秒又加回来了?
@xiyan00 #11 微软的这个设计真是垃圾,明明鼠标移动上去的浮窗展示秒就行,就是不给处理,一开始直接没有,后来有了也是要么打开要么关闭,什么脑回路。
2024-07-05 17:31:11 +08:00
回复了 qcbf111 创建的主题 Chrome 为什么 chrome 还不出垂直标签页呢? edge 实在是太臃肿了。。。
Vivaldi 的垂直标签没有鼠标移动过去后自动展开,只能手动设置垂直标签的大小,要么太小,要么太宽,而且整体的界面也没有 edge 好,但是 edge 是真的恶心,时不时给你恶心一下。
2024-07-03 09:20:22 +08:00
回复了 qwertooo 创建的主题 信息安全 OpenSSH 爆高危漏洞 CVE-2024-6387
@hellolinuxer #102 8.9 不是还在漏洞范围内吗?
2024-06-28 16:19:21 +08:00
回复了 yinzmcn 创建的主题 Java pigx 有用过的吗?和 ruoyi-vue 比哪个好一些?
pigx 不是微服务版本吗? ruoyi-vue 是个单机的,压根就不一样,怎么比?
2024-06-27 17:32:41 +08:00
回复了 zedking 创建的主题 Edge edge 又作恶?
真的恶心,这种小动作不停的,一套一套的。
正在用`stretchly`,已满足要求。
@lfitzgerald #1 你这个不准:
续费价格等值人民币 (CNY): 210.42

交易价格等值人民币 (CNY): 140.00

剩余价值 (CNY): 189.09

溢价金额 (CNY): -49.09
2024-06-13 10:46:44 +08:00
回复了 dc2002007 创建的主题 Java 为何不选 Hibernate,非要 MyBatis?
原先也很倾向纯 ORM ,但是现在反而越来越觉得复杂 sql 还是原生的更直观,可以参考这个[根据条件分页查询用户列表]( https://gitee.com/mybatis-flex/mybatis-flex/issues/I90V7G#note_25272825_link),我贴过来:
```
/**
* 根据条件分页查询用户列表
*
* @param searchReq 用户信息
*
* @return 用户信息集合信息
*/
@Override
@DataScope(deptAlias = SysDept.TABLE_ALIAS, userAlias = SysUser.TABLE_ALIAS)
public Page<SysUser> selectUserList(PageAdapter<SysUser> pageAdapter, final SysUser searchReq) {
final QueryWrapper queryWrapper = queryChain()
.select(SYS_USER.DEFAULT_COLUMNS, SYS_DEPT.DEPT_NAME, SYS_DEPT.LEADER)
.from(SYS_USER.as(SysUser.TABLE_ALIAS))
.leftJoin(SYS_DEPT).as(SysDept.TABLE_ALIAS).on(SYS_USER.DEPT_ID.eq(SYS_DEPT.DEPT_ID))

.eq(SysUser::getDelFlag, UserConstants.NORMAL) // 是否删除: 否
.eq(SysUser::getUserId, searchReq.getUserId(), IdUtils.isIdValid(searchReq.getUserId())) // 用户 ID
.like(SysUser::getUserName, searchReq.getUserName(), StrUtil.isNotBlank(searchReq.getUserName())) // 用户名称
.eq(SysUser::getStatus, searchReq.getStatus(), StrUtil.isNotBlank(searchReq.getStatus())) // 用户状态
.like(SysUser::getPhonenumber, searchReq.getPhonenumber(), StrUtil.isNotBlank(searchReq.getPhonenumber())) // 手机号码
.ge(SysUser::getCreateTime, searchReq.getParams().getBeginTime(), Objects.nonNull(searchReq.getParams().getBeginTime())) // 创建时间开始
.le(SysUser::getCreateTime, searchReq.getParams().getEndTime(), Objects.nonNull(searchReq.getParams().getEndTime())) // 创建时间结束
.and(qw -> qw.eq(SysUser::getDeptId, searchReq.getDeptId()) // 部门过滤
.or(SYS_USER.DEPT_ID.in(QueryWrapper.create().select(SYS_DEPT.DEPT_ID)
.from(SYS_DEPT)
.where(QueryMethods.findInSet(QueryMethods.number(searchReq.getDeptId()), SYS_DEPT.ANCESTORS).gt(0)))),
IdUtils.isIdValid(searchReq.getDeptId()))
// 数据权限
.and(qw -> qw.where(searchReq.getParams().getDataScope()), searchReq.getParams().hasDataScopeFilter());

return getMapper().paginate(pageAdapter.getPage(), queryWrapper);
}
```
如果用 xml 差不多是这样:
```
<select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult">
select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.password,
u.sex,u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time,
u.remark,
u.show_tag,
d.dept_name, d.leader
from sys_user u
left join sys_dept d on u.dept_id = d.dept_id
where u.del_flag = '0'
<if test="searchValue != null and searchValue != ''">
AND (
u.user_name like concat('%', #{searchValue}, '%')
OR u.nick_name like concat('%', #{searchValue}, '%')
)
</if>
<if test="userId != null ">
AND u.user_id = #{userId}
</if>
<if test="userName != null and userName != ''">
AND u.user_name like concat('%', #{userName}, '%')
</if>
<if test="status != null and status != ''">
AND u.status = #{status}
</if>
<if test="phonenumber != null and phonenumber != ''">
AND u.phonenumber like concat('%', #{phonenumber}, '%')
</if>
<if test="beginTime != null and beginTime != ''"><!-- 开始时间检索 -->
AND date_format(u.create_time,'%y%m%d') &gt;= date_format(#{beginTime},'%y%m%d')
</if>
<if test="endTime != null and endTime != ''"><!-- 结束时间检索 -->
AND date_format(u.create_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
</if>
<if test="deptId != null and deptId != 0">
AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE FIND_IN_SET
(#{deptId},ancestors) ))
</if>
<!-- 数据范围过滤 -->
${params.dataScope}
</select>
```
个人感觉 xml 方式反而更加直观看出查询的字段和检索条件。
绝对压根没有用参数化查询
2024-06-11 16:42:34 +08:00
回复了 qa2080639 创建的主题 信息安全 一个非常严重的漏洞 Windows 下使用 PHP 的注意
用 fastcgi 应该没问题吧?
2024-05-19 10:27:00 +08:00
回复了 azev 创建的主题 宽带症候群 关于 frp 内网穿透能不能实现这一点
貌似没提供多少 api ,但是它有个 web 界面,可以参考这个 web 界面怎么实现动态配置的,或者是更简单的自己写个脚本,触发来替配置或注释配置,然后调用应用重启来生效。
2024-05-11 14:18:47 +08:00
回复了 hubaq 创建的主题 互联网 RustDesk 由于诈骗猖獗,暂停国内服务
这官方纯有病,其他国家电诈少吗?相关中国目前打击电诈的力度是数一数二的,一个举报就封禁整个区域,真行。
2024-03-13 08:23:58 +08:00
回复了 ikidou 创建的主题 互联网 简书是不是快倒闭了,新文章好像 Google 都搜不到
@rehoni #9 我的手机浏览器不是弹广告,而是一进去就自动请求淘宝、京东等要求打开这些 app ,现在手机浏览器上看到简书链接根本不敢点进去,也就 PC 端还敢点,但是早就没什么好内容了。
2024-02-29 16:46:37 +08:00
回复了 hankli 创建的主题 程序员 一个工具管理所有运行时版本!
合 nvm 的区别是这个可以管理更多的工具吗?只针对 npm 来说,功能和 nvm 一样?
2024-01-20 10:37:24 +08:00
回复了 huangliu 创建的主题 程序员 我又不务正业加新功能了,做完这版本真的收手了
@huangliu #25 仔细观察了下,当这个 db 中没有数据时,别名就不会显示。
2024-01-19 17:11:07 +08:00
回复了 huangliu 创建的主题 程序员 我又不务正业加新功能了,做完这版本真的收手了
数据库别名挺赞,但是发现 bug ,只有第一次的能保存上,再增加别名就不显示了,重启也不管用。
用过,非常慢
最近有玩《超能世界》,放置的,不要氪金,慢慢玩,每天半小时收菜,还可以。
2024-01-18 16:46:52 +08:00
回复了 villivateur 创建的主题 发音 吐槽一下某同事,居然把 Ubuntu 读成 uboot
@huanghanzhilian #59 首先你插广告是不是有点问题,其次在线的 demo 最起码给个管理端的功能演示的地址啊。
1  2  3  4  5  6  7  8  9  10 ... 12  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5139 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 120ms · UTC 05:59 · PVG 13:59 · LAX 21:59 · JFK 00:59
♥ Do have faith in what you're doing.