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>