MyBatis中常用标签的总结,简单给出自己的总结
MyBatis映射文件中的标签使用介绍
1.<select>:用于编写查询语句用的标签
- id:表示当前<select>标签的唯一标识
- parameterType:指定查询限制条件的输入类型,一般使用#{}实现的是向prepareStatement中的预处理语句中设置参数值
- resultType:指定查询返回结果的输出类型,如果返回的结果是一个实体类,必须要求实体类的属性和表的字段名称相同
- resultMap:也是一个输出类型,配合<resultMap>标签使用
- flushCache:设置查询的时候是否清空缓存,默认为false
- useCache:将查询结果放入缓存中,默认为true
- timeout:设置查询返回结果的最大响应时间
- fetchSize:每次批量返回的结果行数。默认不设置
- statementType:STATEMENT、PREPARED或CALLABLE的一种,这会让MyBatis使用选择Statement、PreparedStatement或CallableStatement。默认值:PREPARED
- resultSetType:设置游标FORWARD_ONLY、SCROLL_SENSITIVE、SCROLL_INSENSITIVE中的一种。认不设置
2.<resultMap>:用于解决实体类中属性和表字段名不相同的问题
- id:表示当前<resultMap>标签的唯一标识
- result:定义表字段和实体类属性的对应关系
- property:记录实体类的属性
- column:记录表的字段名称
3.<mapper>:每个映射文件的根标签,重点关注<mapper>标签中namespace属性
4.<sql>:可以重用的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>:用于编写插入语句用的标签
<insert id=”addMyUser” parameterType=”com.gxa.pojo.MyUser”> insert into MyUser (username, userpass) values (#{username}, #{userpass}) </insert>
6.<update>:用于编写更新语句用的标签
<update id=”updateMyUser” parameterType=”com.gxa.pojo.MyUser”> Update MyUser set username=#{userName} where userId=#{userId} </update>
7.<delete>:用于编写删除语句用的标签
<delete id=”delMyUser” parameterType=”java.lang.Integer”> delete from myuser where userId = #{id} </delete>
8.<cache>:配置给定命名空间缓存
9.<cache-ref>:从其他命名空间引用缓存配置
10.MyBatis中用于实现动态SQL的元素主要有
- <if>
- <choose>(when,otherwise)
- <trim>
- <where>
- <set>
- <foreach>