SQL语句演变一:
SELECT tA.a_code, tA.b_code, tA.c_code, tA.a_name, tA.a_time, tB.b_clazz, tC.c_model, tD.d_good FROM TableA tA LEFT JOIN TableB tB ON tA.a_code = tB.a_code LEFT JOIN TableC tC ON tA.b_code = tC.b_code LEFT JOIN TableD tD ON tA.c_code = tD.c_code
SQL语句演变二:
SELECT Tab.a_code, Tab.b_code, Tab.c_code, Tab.a_name, Tab.a_time, Tab.b_clazz, Tab.c_model, Tab.d_good FROM (SELECT tA.a_code, tA.b_code, tA.c_code, tA.a_name, tA.a_time, tB.b_clazz, tC.c_model, tD.d_good FROM TableA tA LEFT JOIN TableB tB ON tA.a_code = tB.a_code LEFT JOIN TableC tC ON tA.b_code = tC.b_code LEFT JOIN TableD tD ON tA.c_code = tD.c_code) Tab
SQL语句演变三:
Mybatis中的动态sql,条件查询,模糊匹配。
<select id="findMsg" resultMap="某一实体类对应的mapper.xml映射名"> SELECT Tab.a_code, Tab.b_code, Tab.c_code, Tab.a_name, Tab.a_time, Tab.b_clazz, Tab.c_model, Tab.d_good FROM (SELECT tA.a_code, tA.b_code, tA.c_code, tA.a_name, tA.a_time, tB.b_clazz, tC.c_model, tD.d_good FROM TableA tA LEFT JOIN TableB tB ON tA.a_code = tB.a_code LEFT JOIN TableC tC ON tA.b_code = tC.b_code LEFT JOIN TableD tD ON tA.c_code = tD.c_code) Tab <where> <if test=" a_code != '' and a_code != null "> Tab.a_code LIKE CONCAT('%', #{a_code}, '%') </if> <if test=" b_code != '' and b_code != null "> AND Tab.b_code LIKE CONCAT('%', #{b_code}, '%') </if> <if test=" c_model !='' and c_model != null "> AND Tab.c_model LIKE CONCAT('%', #{c_model}, '%') </if> <where> </select>