两表查询或多表查询可以创建 vo 来查询
vo里面写要查询的字段,如:
controller,service和mapper都按照正常的查询写
最后mapper.xml可复制其他的xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="对应的mapper路径">
<resultMap type="自己的实体类vo名字" id="id">
<result property="vo里面的字段" column="对应的表字段" />
</resultMap>
-- sql语句,可以调用
<sql id="id">
sql语句,用就写,不用就不写
</sql>
<select id="查询vo的名字" resultMap="id">
select c.*,r.stop_reason_info stopReasonInfo,m.charge_mode_info chargeModeInfo
from 表1 c
LEFT JOIN 表2 r ON r.stop_reason = c.stop_reason
LEFT JOIN 表3 m ON m.charge_mode = c.charge_mode
<where>
<if test="字段 != null and 字段 != ''"> and 表 .字段 = #{查询的字段}</if>
</where>
</select>
</mapper>