Mybatis的mapper xml文件是其映射sql语句的文件。下面说明mapper文件的主要标签的使用
1、<mapper>标签:整个mapper文件的内容都包含在<mapper>标签之下,mapper标签有一个重要属性namespace,这个属性绑定了Dao接口,使用namespace之后,mybatis会直接通过这个绑定找到相对应的sql语句进行处理,而不再需要编写具体的接口实现。
<resultMap>标签:定义了数据库字段与Model实体的属性之间的对应关系,如下面的resultMap和entity
<resultMap id="BaseResultMap" type="com.xxx.bean.Employee">
<id column="emp_id" jdbcType="INTEGER" property="empId" />
<result column="emp_name" jdbcType="VARCHAR" property="empName" />
<result column="gender" jdbcType="CHAR" property="gender" />
<result column="email" jdbcType="VARCHAR" property="email" />
<result column="d_id" jdbcType="INTEGER" property="dId" />
</resultMap>
public class Employee {
private Integer empId;
private String empName;
private String gender;
private String email;
private Integer dId;
}
property要与entity中的属性名一致,jdbcType是数据的类型,与数据库中对应列的数据类型一致,column是数据库中表的列名
mybatis可以用resultMap与resultType作为返回值类型,但是两者不能同时存在,resultMap需要提前定义数据库字段与实体的对应关系,而resulttype对应于已存在数据类型实体。
3、<sql>标签:用于定义可重用的sq代码,使用id属性指定其名字,在增删改查语句使用,例如以下所示:
<sql>定义:
<sql id="Example_Where_Clause"><sql>
使用:
<include refid="Example_Where_Clause" />
4、<select>查询语句,paramterType是查询方法传入的参数类型,通过resultMap或resultType返回查询结果。
以下内容引自mybatis官方手册
select 元素有很多属性允许你配置,来决定每条语句的作用细节。
<select
id="selectPerson"
parameterType="int"
parameterMap="deprecated"
resultType="hashmap"
resultMap="personResultMap"
flushCache="false"
useCache="true"
timeout="10000"
fetchSize="256"
statementType="PREPARED"
resultSetType="FORWARD_ONLY">
id="selectPerson"
parameterType="int"
parameterMap="deprecated"
resultType="hashmap"
resultMap="personResultMap"
flushCache="false"
useCache="true"
timeout="10000"
fetchSize="256"
statementType="PREPARED"
resultSetType="FORWARD_ONLY">
属性 | 描述 |
---|---|
id | 在 |