egg-mysql模糊查询

1、egg了解

    参考资料:egg官网

2、思路

    egg-mysql架构提供了3中方式进行查询get/select/query

   a) get只能进行单个相等查询

   b) select方法可以通过设置where来设置条件筛选,但是只支持等于和in两种方式

    const value = where[key];
    if (Array.isArray(value)) {
      wheres.push('?? IN (?)');
    } else {
      wheres.push('?? = ?');
    }

   c) query比较灵活支持自己书写sql语句

3、代码实现

    a) 使用query方法

    b) 使用ES6的模板字符串,书写灵活的sql

    async query( auth ) {
        const TABLE_NAME = 'auth';
        const QUERY_STR = 'id, authName, authValue, createTime, updateTime';
        let sql = `select ${QUERY_STR} from ${TABLE_NAME} where authName like "%${auth.authName}%"`;
        const row = await this.app.mysql.query(sql);
        return row;
    }

4、效果

   编写单元测试:

    egg-mysql模糊查询_第1张图片

    单元测试输出:

    egg-mysql模糊查询_第2张图片

你可能感兴趣的:(node)