编程语言之Mybatis 一对一关联查询
吕益平 2018-05-18 来源 : 阅读 1803 评论 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"

    "//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
    文章
  • 12436
    人气
  • 85%
    受欢迎度

已有47人表明态度,85%喜欢该老师!

进入TA的空间
求职秘籍 直通车
  • 索取资料 索取资料 索取资料
  • 答疑解惑 答疑解惑 答疑解惑
  • 技术交流 技术交流 技术交流
  • 职业测评 职业测评 职业测评
  • 面试技巧 面试技巧 面试技巧
  • 高薪秘笈 高薪秘笈 高薪秘笈
TA的其他文章 更多>>
java语言实现栈的顺序存储与链式存储
经验技巧 100% 的用户喜欢
一天天都在说hadoop,到底什么才是hadoop呢?
经验技巧 57% 的用户喜欢
WEB前端之div css 层级
经验技巧 100% 的用户喜欢
WEB前端之div css 绝对定位
经验技巧 100% 的用户喜欢
Java语言之Java Socket NIO示例
经验技巧 67% 的用户喜欢
其他海同师资 更多>>
孔庆琦
孔庆琦 联系TA
对MVC模式和三层架构有深入的研究
周鸣君
周鸣君 联系TA
擅长Hadoop/Spark大数据技术
范佺菁
范佺菁 联系TA
擅长Java语言,只有合理的安排和管理时间你才能做得更多,行得更远!
金延鑫
金延鑫 联系TA
擅长与学生或家长及时有效沟通
程光淼
程光淼 联系TA
精通C、C++等语言、智能芯片开发
经验技巧30天热搜词 更多>>

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

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

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

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程