Skip to content

模块化

之前我们项目使用的部分都没有进行模块化,导致代码耦合度较高,不利于维护和扩展,所以我们需要对项目进行模块化处理

进一步完善方法,排除下面这种情况,筛查掉已经出现的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);

Released under the MIT License.