Mybatis总结(4)---联合查询
来源:互联网 发布:linux一键安装web环境 编辑:程序博客网 时间:2024/05/02 12:48
推荐采用联表查询
- 定义实体类
package com.lin.domain;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 + "]"; }}package com.lin.domain;public class Student { 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 "Student [id=" + id + ", name=" + name + "]"; }}package com.lin.domain;import java.util.List;public class Classes { private int id; private String name; private Teacher teacher; private List<Student> students; 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; } public List<Student> getStudents() { return students; } public void setStudents(List<Student> students) { this.students = students; } @Override public String toString() { return "Classes [id=" + id + ", name=" + name + ", teacher=" + teacher + ", students=" + students + "]"; }}
2.定义sql映射文件classMapper.xml
<?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.lin.mapper.classMapper"> <select id="getClass3" parameterType="int" resultMap="ClassResultMap3"> select * from class c, teacher t,student s where c.teacher_id=t.t_id and c.C_id=s.class_id and c.c_id=#{id} </select> <resultMap type="com.lin.domain.Classes" id="ClassResultMap3"> <id property="id" column="c_id"/> <result property="name" column="c_name"/> <association property="teacher" column="teacher_id" javaType="com.lin.domain.Teacher"> <id property="id" column="t_id"/> <result property="name" column="t_name"/> </association> <!-- ofType指定students集合中的对象类型 --> <collection property="students" ofType="com.lin.domain.Student"> <id property="id" column="s_id"/> <result property="name" column="s_name"/> </collection> </resultMap></mapper>
3.测试类
package com.lin.test;import com.lin.domain.Classes;import com.lin.util.MyBatisUtil;import org.apache.ibatis.session.SqlSession;import org.junit.Test; public class Test1 { @Test public void testGetClass3(){ SqlSession sqlSession = MyBatisUtil.getSqlSession(); String statement = "com.lin.mapper.classMapper.getClass3";//映射sql的标识字符串 Classes clazz = sqlSession.selectOne(statement,1);//查询class表中id为1的记录 sqlSession.close(); System.out.println(clazz); }}
0 0
- Mybatis总结(4)---联合查询
- mybatis联合查询(2)
- mybatis联合查询(未关联)
- Mybatis联合查询
- mybatis 联合查询
- Mybatis中联合查询
- MyBatis的联合查询
- mybatis联合查询
- mybatis 联合查询注意事项
- mybatis 联合查询
- mybatis 联合查询2
- MySQL数据库总结(4)子查询与联合
- mybatis扩展联合查询条件
- MyBatis之多表联合查询
- MyBatis联合查询配置详解
- mybatis 多表联合查询
- mybatis两表联合查询
- MyBatis联合查询和修改例子
- 如何计算时间复杂度
- Fail-Fast原则
- 蓝绿色——三色配色篇
- 查最近10个有数据的日期
- 关于getByte()方法的说明,本地调用base64没问题,远程调用就出现问题
- Mybatis总结(4)---联合查询
- LeetCode : Pascal's Triangle II
- MATLAB中均值、方差、均方差的计算方法
- SELECT+UPDATE处理并发更新
- JVM 性能调优实战之:一次系统性能瓶颈的寻找过程
- 深入浅出MFC:窗口类的注册与窗口的诞生
- 【菜鸟】Java Character类
- jsp详解
- loadrunner中对https证书的配置