MyBatis的XML映射文件、映射器

本文介绍如何在MyBatis中使用XML映射文件定义SQL语句,并通过接口实现查询、插入、更新和删除操作。重点展示了如何配置映射器、参数传递及结果映射。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、SQL映射的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="com.happy.data.mappers.QCallMapper">
    <resultMap type="com.happy.data.pojo.MerQueue" id="QTakeResultMap">
        <id property="_id" column="_id"/>
        <result property="merchantId" column="merchant_id"/>
        <result property="cusPhone" column="cus_phone"/>
        <result property="queuePhone" column="queue_phone"/>
        <result property="queueNo" column="queue_no"/>
        <result property="queueType" column="queue_type"/>
        <result property="takeTime" column="take_time"/>
        <result property="eatType" column="eat_type"/>
        <result property="queuePeople" column="queue_people"/>
        <result property="tag" column="tag"/>
        <result property="today" column="today"/>
        <result property="breakTimes" column="break_times"/>
        <result property="isOut" column="is_out"/>
        <result property="remark1" column="remark1"/>
        <result property="remark2" column="remark2"/>
    </resultMap>
 
     <!--查询大中小桌的队列信息  add by lxx 20130219-->
      <select id="getQuInfo" resultMap="QTakeResultMap">
        SELECT *
        from t_merchant_queue tmq
        where tmq.merchant_id=#{merchantId}
        and tmq.eat_type=#{eatType}
        AND YEAR(NOW())=YEAR(tmq.today)
           AND MONTH(NOW())=MONTH(tmq.today)
        AND DAY(NOW()) = DAY(tmq.today)
    </select>
    <insert id="insertAuthor" parameterType="domain.blog.Author">
       insert into Author (id,username,password,email,bio)
       values (#{id},#{username},#{password},#{email},#{bio})
    </insert>
   <update id="updateAuthor" parameterType="domain.blog.Author">
      update Author set
         username = #{username},
          password = #{password},
              email = #{email},
            bio = #{bio}
         where id = #{id}
    </update>
   <delete id="deleteAuthor” parameterType="int">
         delete from Author where id = #{id}
   </delete>
</mapper>

2、映射器mappers(上面博文提到的接口):绑定映射语句的接口
public interface QCallMapper{
   
    public List<MerQueue> getQuInfo(@Param("merchantId")String merchantId,@Param("eatType")int eatType );
    }
为了告诉MyBatis到哪里去找到sql语句,映射器中的方法名称同XML映射文件中select的id相同。


①在命名空间com.happy.data.mappers.QCallMapper中,定义了一名为“getQuInfo”的映射语句。这样就允许你使用完全限定名com.happy.data.mappers.QCallMapper.getQuInfo来调用映射语句。

②注意参数注释:
merchantId
这就告诉MyBatis创建一个PreparedStatement(预处理语句)参数

③jdbcType
在这个表格之后的所支持的JDBC类型列表中的类型。JDBC类型是仅仅需要对插入,更新和删除操作可能为空的列进行处理。这是JDBC的需要,而不是MyBatis的。如果你直接使用JDBC编程,你需要指定这个类型-但仅仅对可能为空的值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值