Appearance
模块化
之前我们项目使用的部分都没有进行模块化,导致代码耦合度较高,不利于维护和扩展,所以我们需要对项目进行模块化处理
进一步完善方法,排除下面这种情况,筛查掉已经出现的where条件
JS
SELECT * FROM Products WHERE deleted_time IS NULL WHERE name = '智能手机 ' LIMIT 0, 10
👉 旧方法
JS
function addCondition(query, params, condition, value) {
// 排除 pageNum 和 pageSize
if (condition !== 'pageNum' && condition !== 'pageSize' && value !== undefined && value !== '' && value !== null) {
query += params.length ? ' AND' : ' WHERE';
query += ` ${condition} = ?`;
params.push(value);
}
return query;
}
👉 完善以后
JS
if (query.includes('WHERE')) {
query += ` AND ${condition} = ?`; // 如果已经有WHERE,使用AND连接
} else {
query += ` WHERE ${condition} = ?`; // 如果没有WHERE,添加WHERE子句
}
params.push(value);