同任何的代码库一样,在mapper中,通常也会有一些公共的sql代码段会被很多业务mapper.xml引用到,比如最常用的可能是分页和数据权限过滤了,尤其是在oracle中的分页语法。为了减少骨架性代码,通常将它们抽象到sql中,但是肯定又不能在每个mapper中也包含,这样就没有意义了。此时,可以将这部分移到专门的mapper.xml中,比如common.xml,其中包含如下:
<?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="Common">
<sql id="Common.pagingStart">
</sql>
<sql id="Common.pagingEnd">
<![CDATA[ limit #{startWith,jdbcType=INTEGER},#{rows,jdbcType=INTEGER} ]]>
</sql>
</mapper>
然后在具体的mapper.xml可以通过namespace进行引用,如下:
<select id="queryPage" resultMap="clientPage" parameterType="java.util.Map">
<include refid="Common.pagingStart"/>
<include refid="commonSelect"/>
<!-- 这里有个额外的1是为了避免额外处理最后一个”,“ -->
<include refid="commonFrom"/>
<include refid="commonWhere"/>
<if test="clientId != null" >
and CLIENT_ID = #{clientId,jdbcType=VARCHAR}
</if>
<if test="clientName != null" >
and CLIENT_NAME like '%${clientName}'
</if>
<if test="telephone != null" >
and TELEPHONE = #{telephone,jdbcType=VARCHAR}
</if>
order by client_id
<include refid="Common.pagingEnd"/>
</select>
转自
http://www.cnblogs.com/zhjh256/p/6193278.html
分享到:
相关推荐
本文将详细讲解如何使用Java程序生成Mybatis的mapper.xml和mapper.java文件,以便于简化开发过程,提高代码的可维护性和效率。 首先,理解mapper.xml和mapper.java的作用是关键。mapper.xml文件是Mybatis中的SQL...
>Window->prefenrence->XML->XML Catalog->User Specifiled Entreis->Add->Location(此处是你放dtd文件的位置例如:D:\mybatis\mybatis-3-config.dtd)->Key(如果更改config,此处应该是:-//mybatis.org//DTD ...
对于使用MyBatis框架的开发者来说,MyBatis的Mapper接口与对应的Mapper XML文件之间的跳转是日常开发中的常见操作。标题提到的插件就是针对这一需求而设计的,它允许开发者在Mapper Java文件中直接跳转到对应的...
总结来说,Mybatis Generator是提高开发效率的重要工具,通过合理配置`generatorConfig.xml`文件,可以自动化地生成Mybatis所需的Model、Mapper接口和mapper.xml文件。在SSM项目中,这种自动化代码生成极大地降低了...
<groupId>org.mybatis.spring.boot <artifactId>mybatis-spring-boot-starter <version>2.2.4 ``` 接下来,创建一个数据访问对象(DAO)接口,例如`UserMapper`,并使用`@Mapper`注解标记: ```java import ...
本文将详细解析"mybatis联表查询mapper.xml"这一主题,包括如何在Mapper XML文件中实现主表与副表的一对多关联查询,以及涉及的实体类和DAO层的设计。 首先,我们要理解MyBatis中的Mapper接口和Mapper XML文件的...
总的来说,SpringBoot整合MyBatis并自动生成Mapper.xml文件,大大提高了开发效率,降低了手动编写SQL和映射代码的工作量。同时,通过MBG的定制化功能,可以更好地适应项目需求,使代码更规范、更易于维护。
Mapper.xml文件是Mybatis的核心组件,它包含了数据库操作的SQL语句和映射规则。 在处理字符串形式的多选参数时,我们通常会先在服务层将这些参数转换为Java集合,如List或Set。例如,如果用户选择的标签以逗号分隔...
本项目利用Spring Boot的自动配置特性,配合MyBatis作为持久层框架,以及Mapper.xml文件进行SQL映射,实现了数据访问的便捷性。下面将详细阐述这个项目中的关键知识点。 1. **Spring Boot**: Spring Boot是Spring...
1. **MyBatis Generator**: MyBatis Generator(MBG)是MyBatis官方提供的一个代码生成工具,它可以自动生成基于数据库表的Java实体类、Mapper接口和Mapper XML文件,大大提高了开发效率。首先,你需要在项目中引入...
在 Mybatis 中,`mybatis-3-mapper.dtd` 文件扮演着至关重要的角色,它是 Mybatis 映射器接口的定义文件,用于验证 XML 映射文件的语法正确性。 `mybatis-3-mapper.dtd` 文件是基于 DTD(Document Type Definition...
你可以将这个压缩包中的`mybatis-3-mapper.dtd`文件复制到本地,并在MyBatis的配置文件中指定本地DTD文件的位置,这样即使没有网络,MyBatis也能正确解析XML映射文件。 为了做到这一点,你需要在MyBatis的配置文件...
解决这些问题后,开发者就能在编写MyBatis的XML映射文件时享受到IDE提供的便利,提高编码效率。同时,了解并掌握DTD在XML文件中的作用,对于理解MyBatis的工作原理和优化开发环境都是至关重要的。
在MyBatis的配置和映射过程中,`mybatis-3-config.dtd`和`mybatis-3-mapper.dtd`是两个至关重要的文件,它们定义了XML配置文件的结构和语法规则。 首先,`mybatis-3-config.dtd`是MyBatis配置文件的DTD(Document ...
mybatis使用虽然灵活简单,但mapper.xml的配置却很繁琐。如果项目的实体表比较多,手工配置是不现实的。这个工具可以帮助自动后成model,dao,mapper.xml 使开发者从繁琐的mapper.xml映射中解放出来,把更多的精力投入...
总的来说,`mybatis-3-config.dtd` 和 `mybatis-3-mapper.dtd` 是Mybatis框架中不可或缺的部分,它们为XML配置文件提供了语义上的支持,使得开发者可以按照预定义的规则进行配置,从而更好地管理和操作数据库。...
首先,当我们使用`SqlSession.getMapper()`方法来获取一个Mapper接口的实例时,例如`BookMapper bookMapper = SqlSession().getMapper(BookMapper.class)`,MyBatis是如何找到对应的mapper.xml文件并绑定接口方法的...