Spring注解
2021-07-16 13:07
标签:list turn mode 是什么 let 信息 ret vat 简单 之前一直使用的是一对一的单注解方式,今天考到了一对多..果真是什么不会考什么,结果就是什么考试没做出来,数据也没取到。。。。 mysql> select * from clazz; mysql> select * from student; 这是我两张简单表的数据,模型如下: 平常我都是保证表的数据和类的字段名字一致,以减少不必要的麻烦,有些坑毕竟还是要尝试一下的,如果表的字段和建立类的字段信息不一,可以在sql语句起 别名,另一种就是使用@Result指定property,你现在可以看到Student类里面放了Clazz字段,明显和student表的字段不一样,这里就要使用@one,来实现一对一的操作。 @one里面有一个属性select,单引号包含的是一个函数名,如果在不同类或者不同包,要使用方法的全权定名,我的loadclazzByid(int clazz_id)就是下面,只要使用方法名就可以啦 注意cloum = clazz_id 这一句,它会把表中的这个字段自动赋给loadclazzByid方法中的clazz_id,调用loadclazzByid方法,实现clazz对象的返回。最后我的页面终于成功取到数据。 Spring注解 标签:list turn mode 是什么 let 信息 ret vat 简单 原文地址:https://www.cnblogs.com/linchongatfirst/p/9534278.html
+----+-------+
| id | title |
+----+-------+
| 1 | 一班 |
| 2 | 二班 |
+----+-------+
2 rows in set (0.00 sec)
+----+-------+-------+----------+
| id | name | phone | clazz_id |
+----+-------+-------+----------+
| 1 | pop | 24556 | 1 |
| 2 | bob | 24556 | 1 |
| 3 | alice | 24556 | 2 |
+----+-------+-------+----------+
3 rows in set (0.00 sec)package com.yangpeng.hr.model;
public class Clazz {
int mid;
String mtitle;
public int getMid() {
return mid;
}
public void setMid(int mid) {
this.mid = mid;
}
public String getMtitle() {
return mtitle;
}
public void setMtitle(String mtitle) {
this.mtitle = mtitle;
}
}
package com.yangpeng.hr.model;
public class Student {
int vid;
String vname;
String vphone;
Clazz vclazz;
public int getVid() {
return vid;
}
public void setVid(int vid) {
this.vid = vid;
}
public String getVname() {
return vname;
}
public void setVname(String vname) {
this.vname = vname;
}
public String getVphone() {
return vphone;
}
public void setVphone(String vphone) {
this.vphone = vphone;
}
public Clazz getVclazz() {
return vclazz;
}
public void setVclazz(Clazz vclazz) {
this.vclazz = vclazz;
}
}
package com.yangpeng.hr.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.One;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import com.yangpeng.hr.model.Clazz;
import com.yangpeng.hr.model.Student;
@Mapper
public interface StudentMapper {
@Select("select * from student")
@Results(value = {
@Result(property = "vid", column = "id"),
@Result(property = "vname", column = "name"),
@Result(property = "vphone", column = "phone"),
@Result(property = "vclazz", column = "clazz_id",
javaType = Clazz.class, one = @One(select = "loadclazzByid")) })
public List