美文网首页
6、mybatis-映射器

6、mybatis-映射器

作者: 唯老 | 来源:发表于2019-08-17 23:42 被阅读0次

一 、概要

映射器是 MyBatis 中最重要、最复杂的组件,它由一个接口和对应的 XML 文件(或注解)组成。它可以配置以下内容:

  • 描述映射规则。
  • 提供 SQL 语句,并可以配置 SQL 参数类型、返回类型、缓存刷新等信息。
  • 配置缓存。
  • 提供动态 SQL。

二、XML 实现映射器(推荐)

用 XML 定义映射器分为两个部分:接口和 XML。

定义接口(相当于Dao的接口定义)

public interface XXXMapper {
    public int insert();
    public int update();
    public Object select();
    public int delete();
}

定义XML(相当于Dao接口的实现类)

<?xml version="1.0" encoding="UTF-8" ?>
<!-- 接口 命名空间 固定结构-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 根节点 关联接口实现类-->
<mapper namespace="包名+接口名>
    <select id="接口方法名" resultType="接口返回类型">
      <!-- 查询sql 语句-->
    </select>
    <insert id="接口方法名">
        <!-- 插入SQL 语句-->
    </insert>
    <update id="接口方法名">
      <!-- 更新SQL 语句-->
    </update>'
     <update id="接口方法名">
      <!-- 更新SQL 语句-->
    </update>'
    <delete id="接口方法名">
      <!-- 删除SQL 语句-->
    </delete>
</mapper>

三、注解实现映射器(个人不推荐)

采用注解方式定义映射器

它只需要一个接口就可以通过 MyBatis 的注解来注入 SQL

public interface XXXMapper {
    @Insert("INSERT  INTO ...")
    public int insert();
    @Update("UPDATE...SET... ")
    public int update();
    @Select("SELECT ...")
    public Object select();
    @Delete("DELETE FROM ...")
    public int delete();
}

说明

在企业实战开发中SQL 的复杂度远远超过我们现在看到的 SQL,如果稍微复杂点的sql放在java代码中,显然代码的可读性也会下降。而且维护起来比较麻烦。

相关文章

网友评论

      本文标题:6、mybatis-映射器

      本文链接:https://www.haomeiwen.com/subject/dnelsctx.html