现在有两张表,一张是班级表,另外一张是老师表。
上面就是两张表,通过班级id号不仅仅能够获得班级的信息还要获取班主任的信息,其中c_teacher和t_id通过外键相连。
1.首先mybatis的配置文件conf.xml这个好像与之前的没有多大的区别。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mybatis002" />
<property name="username" value="root" />
<property name="password" value="wang314159" />
</dataSource>
</environment>
</environments>
<mappers >
<mapper resource="class.xml"/>
</mappers>
</configuration>
创建两个Javabean,一个是class,一个是teacher
package com.wpl.demo.link;
public class Class {
private int id;
private String name;
private Teacher teacher;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Teacher getTeacher() {
return teacher;
}
public void setTeacher(Teacher teacher) {
this.teacher = teacher;
}
@Override
public String toString() {
return "Class [id=" + id + ", name=" + name + ", teacher=" + teacher + "]";
}
}
package com.wpl.demo.link;
public class Teacher {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Teacher [id=" + id + ", name=" + name + "]";
}
}
关键是对于sql映射文件的配置。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wpl.demo.link">
<select id="findClass" parameterType="int" resultMap="myMap">
select
*from class c,teacher t where c.c_id=#{id} and c.c_teacher=t.t_id
</select>
<resultMap type="com.wpl.demo.link.Class" id="myMap">
<id property="id" column="c_id" />
<result property="name" column="c_name" />
<association property="teacher" javaType="com.wpl.demo.link.Teacher">
<id property="id" column="t_id" />
<result property="name" column="t_name" />
</association>
</resultMap>
</mapper>
这样就是简单的mybatis的一对一联表查询,希望对大家有帮助。