1、数据库Left JOIN
一对多,Left JOIN左连接,数据不会增多
多对一,Left JOIN左连接,数据不会增多
2、sql报错,因为没有指定表名的别名V
UPDATE t_order_refund SET V.NODE_ID = ? WHERE REFUND_ID = ?
3、今天在调接口时遇到一个问题,新增信息数据库报错,查了好多遍最后才发现xxMapper.xml中写错了
错误的
<if test="agenLevel!=null">
#{agenLevel!=null, jdbcType=VARCHAR},
</if>
<if test="conPerson!=null">
#{conPerson!=null, jdbcType=VARCHAR},
</if>
<if test="conPhone!=null">
#{conPhone!=null, jdbcType=VARCHAR},
</if>
正确的
<if test="agenLevel!=null">
#{agenLevel, jdbcType=VARCHAR},
</if>
<if test="conPerson!=null">
#{conPerson, jdbcType=VARCHAR},
</if>
<if test="conPhone!=null">
#{conPhone, jdbcType=VARCHAR},
</if>
4、在xxMapper.xml新增了一个查询userId语句,返回
List<String> nameList = userMapper.selectByName();
但是因为将resultType写成了resultMap,导致连不想关的登陆接口都登陆不上去了,很是莫名其妙,所以一定要注意!
//返回的是resultType,不是resultMap
<select id="selectByName" parameterType="java.util.Map" resultType="java.lang.String">
select
USER_ID
from v_user u
<where>
<if test="orgId!=null">
AND ORG_ID = #{orgId,jdbcType=VARCHAR}
</if>
<if test="userId!=null">
AND USER_ID = #{userId,jdbcType=VARCHAR}
</if>
<if test="userName!=null">
AND USER_NAME like #{userName,jdbcType=VARCHAR}
</if>
<if test="status!=null">
AND STATUS = #{status,jdbcType=INTEGER}
</if>
<if test="userType!=null">
AND USER_TYPE = #{userType,jdbcType=INTEGER}
</if>
</where>
</select>
网友评论