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>