编程语言之Mybatis 一对一关联查询
吕益平 2018-05-18 来源 : 阅读 482 评论 0

摘要:本次的编程语言学习实例,有两张表,老师表teacher和班级表class,一个class班级对应一个teacher,一个teacher对应一个class,需求是根据班级id查询班级信息(带老师的信息),希望对大家学习编程语言有所帮助。

本次的编程语言学习实例,有两张表,老师表teacher和班级表class,一个class班级对应一个teacher,一个teacher对应一个class,需求是根据班级id查询班级信息(带老师的信息),希望对大家学习编程语言有所帮助。

创建teacher和class表:

CREATE TABLE teacher (

        t_id INT PRIMARY KEY AUTO_INCREMENT,

        t_name VARCHAR(20)

    );

    CREATE TABLE class (

        c_id INT PRIMARY KEY AUTO_INCREMENT,

        c_name VARCHAR(20),

        teacher_id INT

    );

    ALTER TABLE class ADD CONSTRAINT fk_teacher_id FOREIGN KEY (teacher_id) REFERENCES

    teacher(t_id);

    INSERT INTO teacher(t_name) VALUES('LS1');

    INSERT INTO teacher(t_name) VALUES('LS2');

    INSERT INTO class(c_name, teacher_id) VALUES('bj_a', 1);

    INSERT INTO class(c_name, teacher_id) VALUES('bj_b', 2);

首先定义实体类

老师Teacher类

package mybatis.bean;

 

    public class Teacher {

 

        private int id;

        private String name;

 

        public Teacher() {

 

        }

 

        public Teacher(int id, String name) {

            super();

            this.id = id;

            this.name = 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 + "]";

        }

}

班级Class类

package mybatis.bean;

 

public class Class {

 

    private int id;

    private String name;

    private Teacher teacher;

 

    public Class() {

    }

 

    public Class(int id, String name, Teacher teacher) {

        super();

        this.id = id;

        this.name = name;

        this.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 + "]";

    }

 

}

要实现一对一关联查询

SELECT * FROM class c, teacher t WHERE c.teacher_id = t.t_id AND c.c_id = 1;

 

classMapper.xml文件如下:

<!DOCTYPE mapper

    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

 

 

   

 

 

   

   

        select * from class c, teacher t where c.teacher_id=t.t_id and c.c_id=#{id}

   

   

       

       

       

            

           

       

   

 


查询过程如下:

mybatis.bean.Class clazz = session.selectOne("mybatis.test5.classMapper.getClass", 1);

System.out.println(clazz);

控制台输出结果为:

Class [id=1, name=bj_a, teacher=Teacher [id=1, name=LS1]]

希望这篇文章可以帮助到你,总之同学们,IT资讯尽在职坐标。

本文由 @职坐标 发布于职坐标。未经许可,禁止转载。
喜欢 | 2 不喜欢 | 0
看完这篇文章有何感觉?已经有2人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论
本文作者 联系TA

熟悉企业软件开发的产品设计及开发

  • 57
    文章
  • 3775
    人气
  • 89%
    受欢迎度

已有38人表明态度,89%喜欢该老师!

进入TA的空间
名师指导直通车
  • 资料索取
    资料索取
  • 答疑解惑
    答疑解惑
  • 技术交流
    技术交流
  • 职业测评
    职业测评
  • 面试技巧
    面试技巧
  • 高薪秘笈
    高薪秘笈
TA的其他文章 更多>>
java语言实现栈的顺序存储与链式存储
经验技巧 100% 的用户喜欢
WEB前端之div css 绝对定位
经验技巧 100% 的用户喜欢
Java语言之Java Socket NIO示例
经验技巧 67% 的用户喜欢
编程语言之Cookie实现浏览商品历史记录
经验技巧 100% 的用户喜欢
一天天都在说hadoop,到底什么才是hadoop呢?
经验技巧 33% 的用户喜欢
其他海同名师 更多>>
刘新华
刘新华 联系TA
实力型。激情饱满,对专业充满热情
吴翠红
吴翠红 联系TA
独创“教、学、练、测”循环教学模式
黄泽民
黄泽民 联系TA
擅长javase核心技术
程钢
程钢 联系TA
擅长大型企业商业网站开发和管理
孔庆琦
孔庆琦 联系TA
对MVC模式和三层架构有深入的研究
经验技巧30天热搜词 更多>>

您输入的评论内容中包含违禁敏感词

我知道了

免费获取海同IT培训资料
验证码手机号,获得海同独家IT培训资料
获取验证码
提交

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    ICP许可  沪B2-20190160

站长统计