[toc] ## 使用总结 #### 1、允许多个resultMap resultType用来直接将结果映射到类,但是数据库字段命名规范一般为多个单词用`_`分割,类的命名用`驼峰命名`。 因为改的是历史项目,类中的历史属性用`_命名`,新的属性为了满足外部对接又不得不使用驼峰命名。 那么只需要新建一个`<resultMap>`就好了,把需要驼峰命名的属性进行映射即可,其他属性无需填写,仍然可以正常获取属性,Mybatis是默认按照同名将属性和字段进行映射的。 ```yaml <resultMap id="app_base_result_map" type="com.hcss.system.app.model.App"> <result column="water_mark" property="waterMark"/> </resultMap> ``` #### 返回何时要判空? Mybatis查询list不需要判空;Mybatis查询对象则需要判空。 ## 常见的坑 #### Integer参数传0值判断条件不能写!='' 当属性类型定义为Integer传值为0时,test判断不能写!='',否则条件不生效。即,Mybatis对Integer类型的值!=''与!=0是等价的。 ~~~ <if test="status != null"> and status = #{status} </if> ~~~