准备
开发工具:IDEA(我是2021最新版本)
环境搭配:自己去搞
相关文件创建
1.创建JAVA项目
2.导入jar包,并Add as library
3.引入配置文件
编写程序
1.been下构造五个类
package main.java.bean;
public class Card {
private Integer id;
private String number;
private Girl p;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public Girl getP() {
return p;
}
public void setP(Girl p) {
this.p = p;
}
@Override
public String toString() {
return "Card{" +
"id=" + id +
", number='" + number + '\'' +
", p=" + p +
'}';
}
}
package main.java.bean;
import java.util.List;
public class Classes {
private Integer id;
private String name;
private List<Schoolgirl> students;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Schoolgirl> getStudents() {
return students;
}
public void setStudents(List<Schoolgirl> students) {
this.students = students;
}
@Override
public String toString() {
return "Classes{" +
"id=" + id +
", name='" + name + '\'' +
", students=" + students +
'}';
}
}
package main.java.bean;
public class Course {
private Integer id;
private String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Course{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
package main.java.bean;
public class Girl {
private Integer id;
private String name;
private Integer age;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
'}';
}
}
package main.java.bean;
import java.util.List;
public class Schoolgirl {
private Integer id;
private String name;
private Integer age;
private List<Course> courses;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public List<Course> getCourses() {
return courses;
}
@Override
public String toString() {
return "Student{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
", courses=" + courses +
'}';
}
public void setCourses(List<Course> courses) {
this.courses = courses;
}
}
2.编写接口和一对多关联以及测试类
package main.java.one_to_many;
import main.java.bean.Classes;
import org.apache.ibatis.annotations.Many;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import java.util.List;
public interface ClassesMapper {
@Select("select * from classes")
@Results({
@Result(column = "id" ,property = "id"),
@Result(column = "name",property = "name"),
@Result(
column = "id",
javaType = List.class,//根据被包含对象的实际类型
property = "students",//被包含对象的变量名
//many @Many 一对多
many=@Many(select="chinasoft.one_to_many.StudentMapper.selectByCid")
)
})
public List<Classes> selectAll();
}
package main.java.one_to_many;
import main.java.bean.Girl;
import org.apache.ibatis.annotations.Select;
import java.util.List;
//com.chinasoft.one_to_many.StudentMapper.selectByCid
public interface StudentMapper {
@Select("select * from student where cid=#{cid}")
public List<Girl> selectByCid(Integer cid);
}
package main.java.one_to_many;
import main.java.bean.Classes;
import main.java.bean.Schoolgirl;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class Test01 {
@Test
public void selectAll() throws IOException {
InputStream is = Resources.getResourceAsStream("MyBatisConfig.xml");
SqlSession sqlSession = new SqlSessionFactoryBuilder().build(is).openSession(true);
ClassesMapper mapper = sqlSession.getMapper(ClassesMapper.class);
List<Classes> list = mapper.selectAll();
for (Classes cls:
list) {
System.out.println(cls.getId()+","+cls.getName());
List<Schoolgirl> ss = cls.getStudents();
for(Schoolgirl s:ss){
System.out.println("\t"+s);
}
}
sqlSession.close();
is.close();
}
}
最后报错了,没有找到相关配置文件。
晕(((φ(◎ロ◎;)φ)))。。。。。。