zoukankan      html  css  js  c++  java
  • Mybatis学习记录(六)--开发中的小问题

    近期開始做项目,期间遇到一些小问题,开此贴记录一下

    1.关于order by

    今天写一个sql查询语句,用了order by可是一直没效果,后来才发现用了#{}取值,mybatis使用这个的话对于String类型会自己主动加上引號,导致sql无效,正确做法用$取代#

        SELECT * FROM cum_user
            <where>
                <if test="search != null">
                    (username LIKE #{search} ) or (nickname LIKE #{search}) OR (stunum LIKE #{search})
                </if>
            </where>
            <if test="ordername != null">
    --             对于排序使用${}符号
                ORDER BY ${ordername} ${order}
            </if>

    2.关于三张表查询去重问题

    一张主表problem,关联着catelog和cum_user两张表的主键,以下是正确的查询方法,不然会出现非常多反复结果

    SELECT problem.id,pro_name,cate_id,catelog.cate_name,pro_pass,pro_sub,problem.credits,start_time,user_id,cum_user.username
    FROM problem
      LEFT JOIN cum_user on problem.user_id = cum_user.id
      LEFT JOIN catelog on problem.cate_id = catelog.id
    WHERE (problem.pro_name LIKE '%1%' ) or (problem.id LIKE '%1%' ) OR (catelog.cate_name LIKE '%1%')
    ;
  • 相关阅读:
    #Hadoop集群部署
    #Linux Keepalived 负载均衡
    #Linux LVS 负载均衡
    #Kafka 彻底删除topic
    #Linux Keepalived 双机热备
    Python #图片验证码
    Linux #tar
    MongoDB #$set的问题
    Django #CSRF
    keystone环境搭建(源码方式+yum方式)(ocata版本)
  • 原文地址:https://www.cnblogs.com/gavanwanggw/p/7294102.html
Copyright © 2011-2022 走看看