问题:想了半天终于解决了这个问题,mysql中的级联查询非诚好使!
SELECT
t.*, x.*, w.*
FROM
file_attribute_info t
LEFT JOIN file_basic_info x ON t.file_extra_id = x.file_extra_id
LEFT JOIN weixin_pub_user w ON t.weixin_user_id = w.user_id
where //在动态sql语句中<where>是会自己去掉第一个and的,在这是使用where做查询条件
t.author_place = '江西'
and t.first_author='小柒'
and x.file_size='128512'
<select id="getAllFileAttrInfo" resultType="java.util.Map" parameterType="java.util.Map">
SELECT
t.*, x.*, w.*
FROM
file_attribute_info t
LEFT JOIN file_basic_info x ON t.file_extra_id = x.file_extra_id
LEFT JOIN weixin_pub_user w ON t.weixin_user_id = w.user_id
having 1=1 //这里是使用的having进行连接,需要加上一个没有的值(其实在这里很有用)
<if test="author_place!=null and author_place!=''">
and t.author_place = #{author_place}
</if>
<if test="first_author!=null and first_author!=''">
and t.first_author=#{first_author}
</if>
<if test="file_size!=null and file_size!=''">
and x.file_size=#{file_size}
</if>
</select>
▶▶▶做事之前还是得先想想以前学过的东西!1=1确实是忘掉了!