美文网首页
SQLite 与 Mysql 分别在mybatis中模糊查询的写

SQLite 与 Mysql 分别在mybatis中模糊查询的写

作者: 掌灬纹 | 来源:发表于2021-05-25 17:52 被阅读0次
  • MySQL 中常使用concat函数处理字符串拼接,尤其是模糊查询中
    假设Mapper接口如下定义
    /**
     * 模糊查询 t_role 表
     * @param roleName 查询角色名称-模糊值
     * @return 满足规则的角色集合
     */
    List<Role> readRoles(@Param("roleName") String roleName);

则xml实现的sql语句为

    <!--  模糊查询  -->
    <select id="readRoles" resultType="com.pojo.Role">
        select
        t_role_id as roleId,
        t_role_name as roleName,
        t_role_value as roleValue,
        t_role_desc as roleDesc
        from t_role tsr
        <where>
            <if test="roleName != null and roleName != ''">
                tsr.t_role_name LIKE CONCAT('%',#{roleName},'%')
            </if>
        </where>
    </select>
  • 然而Sqlite中不包含Concat函数帮助我们处理,就只能用最原始的字符串拼接,特别的Sqlite中使用 '||' 符号做拼接而不是 ‘+’
    /**
     * 模糊查询 t_role 表
     * @param roleName 查询角色名称-模糊值
     * @return 满足规则的角色集合
     */
    @select("select * from t_role where t_role_name like '%'||#{roleName}||'%'")
    List<Role> readRoles(@Param("roleName") String roleName);
  • 拓展业务:大多数表在增加、编辑数据时会做一些重复值的校验;比如用户名唯一校验;而增加和编辑的情况有一点区别,比如仅在方法中传递一个用户名参数去数据库查询,在编辑时用户会把自身也算入重复中;这时可以选择传递用户名,id两个参数在不同的业务中进行传参操作即可

相关文章

  • SQLite 与 Mysql 分别在mybatis中模糊查询的写

    MySQL 中常使用concat函数处理字符串拼接,尤其是模糊查询中假设Mapper接口如下定义 则xml实现的s...

  • MyBatis中模糊查询

    1、项目配置 1.1、项目整体架构 1.2、添加jar包、mybatis-config.xml和log4j.pro...

  • mysql 中模糊查询

    MySQL中 使用like关键字进行模糊查询,like关键字通常用在where条件查询子句中,like字句通常配合...

  • mybatis中mysql数据库like语句用法

    今天项目中用到了模糊搜索查询,因为持久层框架采用的mybatis,数据库采用的mysql,所以就需要在xml文件中...

  • SSM-mybatis

    模糊查询 占位符的用法 mybatis使用com.mysql.cj.jdbc.Driver会出现的一些问题 我终于...

  • Elastic检索技巧总结

    常用的检索类型 在mysql中,我们常用的查询 可能就是 精准查询 模糊查询 范围查询 等等,那么在es中,有哪...

  • Mybatis模糊查询限定词注入

    问题 前端大佬测试反馈,使用MyBatis中的模糊查询时,当查询关键字中包括有_、%时,查询关键字失效,会返回所有...

  • mongodb 常用语句大全

    参考[https://www.jianshu.com/p/ffcb29301a02] 模糊查询 mySql中模糊查...

  • MYSQL模糊查询

    1.公式select * from 表名 where 字段 Like 条件2.%可以匹配0个或者多个字符eg:my...

  • mySQL——模糊查询

    正则表达式在模式开始处使用“^”或在模式的结尾用“$”。 为了找出以“三”开头的名字,使用“^”匹配名字的开始。S...

网友评论

      本文标题:SQLite 与 Mysql 分别在mybatis中模糊查询的写

      本文链接:https://www.haomeiwen.com/subject/odscsltx.html