User findUserByUsernameAndPwd(@Param("name")String username,@param("pwd")String password);
将指定的形式参数绑定在当前注解中给定值中
查询的时候
映射文件
select 字段列表 from 表名 where username = #{name} and password = #{pwd}
2.接口中方法中有多个参数,映射文件如何写?
User findUserByUsernameAndPwd(String username,String password);
映射文件
这样肯定不行,针对单个参数 指定 parameterType
select * from user where username = #{username} and password= #{password}
多个参数?
User findUserByUsernameAndPwd(String username,String password);
3.高级数映射ResultMap
应用场景:
1)当实体类的属性名称和表中的字段不对应的情况,使用ReultMap 一一映射
2)场景2:
//账户实体类
@Data
@NoArgsConstructor //无参构造方法
public class Account {
private Integer id ; //账户编号
private Integer uid ;//用户
private Double money ; //金额
//一个账户里面包含某一个用户的信息
//体现出用户实体
private User user ;
@Override
public String toString() {
return "Account{" +
"id=" + id +
", uid=" + uid +
", money=" + money;
}
}
2)配置一对多,多对多等等,一对一(很少用:一个人和身份证关系...)
开发中,一对多,多对多...
查询所有账户的时候,应该将账户所属的用户查出来,从账户的维度去看,一对一
SELECT
a.`ID` aid ,
a.`UID`,
a.`MONEY`,
u.*
FROM account a , USER u
a.`UID` = u.`id`