文章目录
  1. 1. 一、备忘常识
  2. 2. 二、Mybatis表达式注意点

一、备忘常识

  1. ResultMap和ResultType:ResultType直接表示返回类型,ResultMap则是外部引用。相比ResultType,ResultMap适用于配置较为复杂的查询。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <resultMap type="Comment" id="CommentResult">
    <association property="blog" select="selectBlog" column="blog" javaType="Blog"/>
    </resultMap>
    <select id="selectComment" parameterType="int" resultMap="CommentResult">
    select * from t_Comment where id = #{id}
    </select>
    <select id="selectBlog" parameterType="int" resultType="Blog">
    select * from t_Blog where id = #{id}
    </select>
  2. MyBatis的@Param和Spring的@Param:两个注解功能几乎相同,但是在编写相应XML文件时存在差别,spring中的@param在XML中按照变量顺序引用。

    1
    2
    3
    4
    5
    6
    7
    8
    <select id="selectRoleCount" resultType="java.lang.Integer" >
    select
    count(tbm.id)
    from t_business_member_relation tbm
    where tbm.business_id = #{0,jdbcType=INTEGER}
    and tbm.member_id = #{1,jdbcType=INTEGER}
    and tbm.role_business_id is not null
    </select>
  3. SpringMVC的传参方式

  • @PathVariable:
    对应@RequestMapping(value=”/owners/{ownerId}”,method,RequestMethod.GET)
  • @RequestParam:
    包含3个配置 @RequestParam(required = ,value=””, defaultValue = “”)
  • @CookieValue:获取cookie信息
  • @RequestHeader:获取请求的头部信息
  • @RequestBody:接收Json对象的字符串,而不是Json对象

二、Mybatis表达式注意点

  1. if标签使用的是OGNL表达式
  2. OGNL对于Boolean的定义和JavaScript有点像,即'' == 0 == false,只有String类型才需要判断是否!='',其余判断是否!=null即可。
  3. 单引号内为单个字符时,OGNL会识别为Char类型,所以判断String是否为非空且等于单字符长度的字符串时,需要使用双引号而非单引号。
文章目录
  1. 1. 一、备忘常识
  2. 2. 二、Mybatis表达式注意点