知了堂|MyBatis_映射文件的常用标签总结

209 阅读1分钟

1.:用于编写查询语句用的标签 id:表示当前标签的唯一标识

  • parameterType:指定查询限制条件的输入类型,一般使用#{}实现的是向prepareStatement中的预处理语句中设置参数值
  • resultType:指定查询返回结果的输出类型,如果返回的结果是一个实体类,必须要求实体类的属性和表的字段名称相同
  • resultMap:也是一个输出类型,配合标签使用
  • flushCache:设置查询的时候是否清空缓存,默认为false
  • useCache:将查询结果放入缓存中,默认为true
  • timeout:设置查询返回结果的最大响应时间
  • fetchSize:每次批量返回的结果行数。默认不设置
  • statementType:STATEMENT、PREPARED或CALLABLE的一种,这会让MyBatis使用选择Statement、PreparedStatement或CallableStatement。默认值:PREPARED
  • resultSetType:设置游标FORWARD_ONLY、SCROLL_SENSITIVE、SCROLL_INSENSITIVE中的一种。认不设置
  • 2.:用于解决实体类中属性和表字段名不相同的问题

    • id:表示当前标签的唯一标识
    • result:定义表字段和实体类属性的对应关系
    • property:记录实体类的属性
    • column:记录表的字段名称

    3.:每个映射文件的根标签,重点关注标签中namespace属性

    4.:可以重用的SQL语句,可以被其他语句引用

    <sql id="userColumns">id,username,password</sql><select id="selectUsers" paramertType="int" resultType="hashmap">
    select <include refid="userColumns"/>
    from some_table
    </select>
    

    5.:用于编写插入语句用的标签

    <insert id=”addMyUser” parameterType=”com.gxa.pojo.MyUser”>
    insert into MyUser (username, userpass) values (#{username}, #{userpass})
    </insert>
    

    6.:用于编写更新语句用的标签

    <update id=”updateMyUser” parameterType=”com.gxa.pojo.MyUser”>
    Update MyUser set username=#{userName} where userId=#{userId}
    </update>
    

    7.:用于编写删除语句用的标签

    <delete id=”delMyUser” parameterType=”java.lang.Integer”>
    delete from myuser where userId = #{id}
    </delete>
    

    8.:配置给定命名空间缓存

    9.:从其他命名空间引用缓存配置

    10.MyBatis中用于实现动态SQL的元素主要有

    • (when,otherwise)