天天看点

MyBatis 4种参数绑定方式(默认参数绑定,@Param注解参数绑定,parameterType参数绑定,自定义类参数绑定)1 默认参数绑定2 @Param注解参数绑定3 parameterType参数绑定4 自定义类参数绑定

1 默认参数绑定

        默认Mapper映射文件中的变量名只能是 #{arg0},#{arg1} ...或者是#{param1},#{param2} ...。其中arg变量名从0开始,param变量名从1开始。

1.1 UserMapper.java

/**
     * 获取用户信息
     *
     * @param username 用户名
     * @param password 变量名
     * @return
     */
    List<UserEntity> getUserList(String username,String password);
           

1.2 UserMapper.xml

        第一种变量命名方式:

<select id="getUserList" resultType="com.entity.UserEntity">
        SELECT *
        from users
        where username  = #{arg0} and password=#{arg1}
    </select>
           

        第二种变量命名方式:

<select id="getUserList" resultType="com.entity.UserEntity">
        SELECT *
        from users
        where username  = #{param1} and password=#{param2}
    </select>
           

2 @Param注解参数绑定

2.1 UserMapper.java

/**
     * 获取用户信息
     *
     * @param username 用户名
     * @param password 变量名
     * @return
     */
    List<UserEntity> getUserList(@Param("username") String username, @Param("password") String password);
           

2.2 UserMapper.xml

<select id="getUserList" resultType="com.entity.UserEntity">
        SELECT *
        from users
        where username  = #{username} and password=#{password}
    </select>
           

3 parameterType参数绑定

3.1 UserMapper.java

/**
     * 获取用户信息
     *
     * @param username 用户名
     * @param password 变量名
     * @return
     */
    List<UserEntity> getUserList(String username,String password);
           

3.2 UserMapper.xml

<select id="getUserList" resultType="com.entity.UserEntity" parameterType="java.util.HashMap">
        SELECT *
        from users
        where username  = #{username} and password=#{password}
    </select>
           

4 自定义类参数绑定

4.1 UserEntity

package com.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

/**
 * 用户信息实体类
 */
@Data
@TableName("users")
public class UserEntity {
    /**
     * 用户名
     */
    @TableField("username")
    @TableId
    private String username;
    /**
     * 密码
     */
    @TableField("password")
    private String password;
}
           

4.2 UserMapper.java

/**
     * 获取用户信息
     *
     * @param userEntity 查询条件
     * @return
     */
    List<UserEntity> getUserList(UserEntity userEntity);
           

4.3 UserMapper.xml

<select id="getUserList" resultType="com.entity.UserEntity">
        SELECT *
        from users
        where username  = #{username} and password=#{password}
    </select>
           

继续阅读