mapper参数传递的多种情况和多个方法

这里是代码加注释的teacherDAO接口代码和Mapper映射文件代码,一些讲解在注释里有:

TeacherDAO接口代码:

----------------------------------------代码开始----------------------------------------------

package com.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.entity.Teacher;

public interface TeacherDAO {
    //这里的注解必须存在,它帮助mapper映射文件识别
    //如果是单个基本类型则不用写注解,多个基本类型也要写
        public void add(@Param("tea") Teacher tea);
        public List<Teacher> findAll();
        //方法参数名在任何地方都是可以随便命名的
        public Teacher getByIdAndName(Map map);
}

 

----------------------------------------代码结束----------------------------------------------

Mapper映射文件代码:

----------------------------------------代码开始----------------------------------------------

<?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.dao.TeacherDAO">
<!-- 注意返回类型resultType的设置 -->
             <insert id="add">
                             insert into teacher values(null,#{tea.teaName},#{tea.teaAge})
             </insert>
             <!-- 这里返回类型不写集合,但要写完整类型名,基本类型可不写完整的 -->
             <select id="findAll" resultType="com.entity.Teacher">
                             select * from teacher
             </select>
             <select id="getByIdAndName" resultType="com.entity.Teacher">
                             select * from teacher where teaId=#{teaId} and teaName=#{teaName}
             </select>
</mapper>
            <!-- 
                    1.单个参数
                        a.传入的是基本数据类型:参数名自定义(因为只有一个参数,不会混淆)
                        b.传入的是对象类型,可以用@Param起别名,然后mapper中用对象.属性,或者直接写对象的属性,不起别名也可以
                    2.多个参数
                        a.可以用下标表示,例如:#{0},#{1}
                        b.可以用参数关键字表示,例如:#{param1},#{param2}
                        c.用一个Map来装多个参数,取值的时候用的是key,#{key}
             -->

----------------------------------------代码结束----------------------------------------------

至此,完毕。

猜你喜欢

转载自blog.csdn.net/qq_41857764/article/details/85325029
今日推荐