Mybatis之mapper文件浅析

本文详细解析了Mybatis mapper XML文件中的核心标签,包括<mapper>的namespace属性,<resultMap>定义字段与实体映射,<sql>实现代码复用,以及<select>、<insert>、<delete>、<update>等数据操作标签的用法,特别讨论了主键生成策略,包括自动生成和手动设置。
摘要由CSDN通过智能技术生成

    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">
Select Attributes
属性 描述
id
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值