赞
踩
@Results({@Result(),@Result()})或@Results(@Result())**
**@Resutl 注解
代替了
<id>
标签和<result>
标签
@Result 中的属性介绍:**
| @Result 中的属性 | 介绍 |
| — | — |
| id | 是否是主键字段 |
| column | 数据库的列名 |
| property | 需要装配的属性名 |
| one | 需要使用的@One 注解(@Result(one=@One)())) |
| many | 需要使用的@Many 注解(@Result(many=@many)())) |
**@One 注解(一对一)
代替了
<assocation>
标签,是多表查询的关键,在注解中用来指定子查询返回单一对象。
@One 注解属性介绍:
select 指定用来多表查询的 sqlmapper
fetchType 会覆盖全局的配置参数 lazyLoadingEnabled。
使用格式:@Result(column=" “,property=”“,one=@One(select=”"))**
**@Many 注解(多对一)
代替了
<collection>
标签,是是多表查询的关键,在注解中用来指定子查询返回对象集合。
注意:聚集元素用来处理“一对多”的关系。需要指定映射的 Java 实体类的属性,属性的 javaType(一般为 ArrayList)但是注解中可以不定义。
使用格式:@Result(property=“”,column=“”,many=@Many(select=“”))**
需求:加载账户信息时并且加载该账户的用户信息,根据情况可实现立即加载。(注解方式实现)
User:
package com.keafmd.domain;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
Keafmd
@ClassName: User
@Description: User实体类
@author: 牛哄哄的柯南
@date: 2021-02-16 20:28
*/
public class User implements Serializable {
private Integer userId;
private String userName;
private String userAddress;
private String userSex;
private Date userBirthday;
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserAddress() {
return userAddress;
}
public void setUserAddress(String userAddress) {
this.userAddress = userAddress;
}
public String getUserSex() {
return userSex;
}
public void setUserSex(String userSex) {
this.userSex = userSex;
}
public Date getUserBirthday() {
return userBirthday;
}
public void setUserBirthday(Date userBirthday) {
this.userBirthday = userBirthday;
}
@Override
public String toString() {
return “User{” +
“userId=” + userId +
“, userName='” + userName + ‘’’ +
“, userAddress='” + userAddress + ‘’’ +
“, userSex='” + userSex + ‘’’ +
“, userBirthday=” + userBirthday +
‘}’;
}
}
Account:
package com.keafmd.domain;
import java.io.Serializable;
/**
Keafmd
@ClassName: Account
@Description: 账户实体类
@author: 牛哄哄的柯南
@date: 2021-02-16 22:51
*/
public class Account implements Serializable {
private Integer id;
private Integer uid;
private Double money;
//多对一(mybatis中称之为一对一)的映射,一个账户只能属于一个用户 *
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getUid() {
return uid;
}
public void setUid(Integer uid) {
this.uid = uid;
}
public Double getMoney() {
return money;
}
public void setMoney(Double money) {
this.money = money;
}
@Override
public String toString() {
return “Account{” +
“id=” + id +
“, uid=” + uid +
“, money=” + money +
‘}’;
}
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。