MyBatis配置文件--mappers映射器

缥帙各舒散,前后互相逾。这篇文章主要讲述MyBatis配置文件--mappers映射器相关的知识,希望能为你提供帮助。
映射器是MyBatis中最复杂、最核心的组件,本文先介绍映射器的引入方法,其他的在我日后会再做分析和总结。
之前的文章中有提到过,映射器是由一个接口和一个XML配置文件组成,XML文件中需要定义一个命名空间namespace,它的值就是接口对应的全路径。
如我定义一个根据ID查询产品的映射器,需要以下两步:
第一步:创建一个接口,定义查询方法

1 public interface ProductMapper { 2//查询接口 3public Product selectById(String id); 4 }

第二步:创建对应的XML,定义命名空间
1 < ?xml version="1.0" encoding="UTF-8"?> 2 < !DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 3 < mapper namespace="com.daily.dao.ProductMapper"> 4< resultMap id="BaseResultMap" type="com.daily.pojo.Product"> 5< id column="id" jdbcType="VARCHAR" property="id" /> 6< result column="product_name" jdbcType="VARCHAR" property="productName" /> 7< result column="product_price" jdbcType="VARCHAR" property="productPrice" /> 8< result column="product_type" jdbcType="VARCHAR" property="productType" /> 9< /resultMap> 10 11< !-- MyBatis自动映射功能: 121、首先通过接口中的方法名与sql查询语句进行关联 132、当查询到的字段与pojo中的字段完全对应的时候,就会将查询结果自动映射成一个pojo对象 143、如果数据库字段和类字段不一致,则需要进行转换,所以一般设计数据库的时候,字段采用驼峰式 15--> 16< select id="selectById" parameterType="String" resultType="product"> 17SELECT * FROM product p WHERE p.id = #{id,jdbcType=VARCHAR} 18< /select> 19 < /mapper>

在上面的配置中,mapper中有一个namespace="com.daily.dao.ProductMapper"配置,这就是命名空间,其值是接口的全路径,当然这个全路径也可以在别名中定义,然后直接在这里引用。
定义好了一个映射器之后就可以在mybatis-config.xml中引入了,引入方法有以下几种:
1、用文件路径引入
< mappers> < mapper resource="com/daily/mapper/UserMapper.xml" /> < mapper resource="com/daily/mapper/ProductMapper.xml" /> < mapper resource="com/daily/mapper/BlogMapper.xml" /> < /mappers>

2、用包名引入
这种引入方式相当于批量引入一个包下的所有映射器
< mappers> < package name="com.daily.mapper"/> < /mappers>

【MyBatis配置文件--mappers映射器】3、用类注册引入
< mappers> < mapper class="com.daily.mapper.UserMapper" /> < mapper class="com.daily.mapper.ProductMapper" /> < mapper class="com.daily.mapper.BlogMapper" /> < /mappers>

4、使用URL方式引入
< mappers> < mapper url="xml文件访问URL" /> < /mappers>

根据实际情况选择合适的引入方式即可。
以上就是映射器引入方式的介绍。

    推荐阅读