mybatis一对一关联映射

1.创建学生类实体类

package org.huqi.bean;
//学生类
public class Student {
private String id;
private String name;

public void setClasses(Classes classes) {
this.classes = classes;
}

public Classes getClasses() {
return classes;
}

private Classes classes;
public void setId(String id) {
this.id = id;
}

public void setName(String name) {
this.name = name;
}

public void setCid(String cid) {
this.cid = cid;
}

public String getId() {
return id;
}

public String getName() {
return name;
}

public String getCid() {
return cid;
}

private String cid;
}

 2.创建班级类实体类

package org.huqi.bean;

public class Classes {
private String id;

public String getId() {
return id;
}

public String getCname() {
return cname;
}

public void setId(String id) {
this.id = id;
}

public void setCname(String cname) {
this.cname = cname;
}

private String cname;
}
3.创建学生类dao层接口
package org.huqi.dao;

import org.huqi.bean.Student;

import java.util.List;

public interface StudentDao {
public List<Student> selectStudent();
}
4.创建班级类dao层接口
package org.huqi.dao;

import org.huqi.bean.Classes;

import java.util.List;

public interface ClassesDao {
public List<Classes> selectClasses(String cid);//将映射的列名传入参数 中
}

 5.创建学生类映射文件

<?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="org.huqi.dao.StudentDao">
<resultMap id="studentMap" type="Student">
<id column="id" property="id"></id>
<result column="name" property="name"/>
<association property="classes" javaType="Classes" column="cid" select="org.huqi.dao.ClassesDao.selectClasses"></association>
</resultMap>
<select id="selectStudent" parameterType="String" resultMap="studentMap">
select * from student 
</select>
</mapper>

6.创建班级类映射文件

<?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="org.huqi.dao.ClassesDao">
<select id="selectClasses" parameterType="String" resultType="Classes">
select * from classes where id=#{cid}
</select>
</mapper>

总结:这样可以不用写连表查询sql,也不用配置数据库字段与类属性的映射。

原文地址:https://www.cnblogs.com/huqi96/p/12997304.html