zoukankan      html  css  js  c++  java
  • MyBatis配置文件(九)--mappers映射器

    映射器是MyBatis中最复杂、最核心的组件,本文先介绍映射器的引入方法,其他的在我日后会再做分析和总结。

    之前的文章中有提到过,映射器是由一个接口和一个XML配置文件组成,XML文件中需要定义一个命名空间namespace,它的值就是接口对应的全路径。

    如我定义一个根据ID查询产品的映射器,需要以下两步:

    第一步:创建一个接口,定义查询方法

    1 public interface ProductMapper {
    2     //查询接口
    3     public 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自动映射功能:
    12     1、首先通过接口中的方法名与sql查询语句进行关联
    13     2、当查询到的字段与pojo中的字段完全对应的时候,就会将查询结果自动映射成一个pojo对象
    14     3、如果数据库字段和类字段不一致,则需要进行转换,所以一般设计数据库的时候,字段采用驼峰式
    15     -->
    16     <select id="selectById" parameterType="String" resultType="product">
    17         SELECT * 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>

    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>

    根据实际情况选择合适的引入方式即可。

    以上就是映射器引入方式的介绍。

  • 相关阅读:
    学会拒绝,把时间用在更重要的事情上
    5G即将到来!我们需要一部怎样的手机呢?
    互联网早期是如何发展起来的?
    程序员需要明白这九件事
    centos7安装出现license information(license not accepted)解决办法
    CentOS6.5下安装MySql5.7.17
    Linux操作系统下MySQL的安装 --转
    SecureCRT_教程--1(windows远程登录linux)
    CentOS-7中安装与配置Tomcat8.5
    CentOS7使用firewalld打开关闭防火墙与端口
  • 原文地址:https://www.cnblogs.com/hellowhy/p/9676534.html
Copyright © 2011-2022 走看看