現在有兩張表,一張是班級表,另外一張是老師表。
上面就是兩張表,通過班級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的一對一聯表查詢,希望對大家有幫助。