美文网首页
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