千家信息网

怎么用java mybatis框架实现多表关系查询功能

发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,这篇文章主要讲解了"怎么用java mybatis框架实现多表关系查询功能",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么用java mybatis
千家信息网最后更新 2025年01月17日怎么用java mybatis框架实现多表关系查询功能

这篇文章主要讲解了"怎么用java mybatis框架实现多表关系查询功能",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么用java mybatis框架实现多表关系查询功能"吧!

基于Maven框架的整体设计 -- 一多一的关系

思路:导入mybatis、mysql、Junit4.13依赖;

编写两个java实体类;

编写sqMapConfig.xml mybatis核心配置文件

编写dao层接口;

编写mapper 映射文件;

编写测试类。

1.导入相关依赖

                org.mybatis        mybatis        3.5.2                    mysql        mysql-connector-java        5.1.47                    junit        junit        4.13    

2.编写两个java实体类;

Students

package com.mybatis.pojo;public class Students {    private Integer sid;    private String sName;    private Integer sCid;    private Cards cards;   //  一多一的关系    public Integer getSid() {        return sid;    }    public void setSid(Integer sid) {        this.sid = sid;    }    public String getsName() {        return sName;    }    public void setsName(String sName) {        this.sName = sName;    }    public Integer getsCid() {        return sCid;    }    public void setsCid(Integer sCid) {        this.sCid = sCid;    }    public Cards getCards() {        return cards;    }    public void setCards(Cards cards) {        this.cards = cards;    }    @Override    public String toString() {        return "Students{" +                "sid=" + sid +                ", sName='" + sName + '\'' +                ", sCid=" + sCid +                ", cards=" + cards +                '}';    }}

Cards

package com.mybatis.pojo;public class Cards {    private Integer cid;    private String cnum;    public Integer getCid() {        return cid;    }    public void setCid(Integer cid) {        this.cid = cid;    }    public String getCnum() {        return cnum;    }    public void setCnum(String cnum) {        this.cnum = cnum;    }    @Override    public String toString() {        return "Cards{" +                "cid=" + cid +                ", cnum='" + cnum + '\'' +                '}';    }}

3.编写sqMapConfig.xml mybatis核心配置文件

                                                                                                                                                                                                        

4.编写dao层接口;

package com.mybatis.dao;import com.mybatis.pojo.Students;import java.util.List;public interface StudentsDao {    // 查询学生信息以及对应的身份证信息    public List findAll();}

还有一个略了;

5.编写mapper 映射文件;

StudentsDao.xml

                                                    

CardsDao.xml

                                    

6.编写测试类

import com.mybatis.dao.StudentsDao;import com.mybatis.pojo.Students;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import org.junit.After;import org.junit.Before;import org.junit.Test;import java.io.IOException;import java.io.InputStream;import java.util.List;public class TestMybatis {    InputStream resource;    SqlSession session;    StudentsDao stuDao;    @Before  // 在test方法之前执行    public void init() throws IOException {        // 加载核心配置文件        resource = Resources.getResourceAsStream("sqMapConfig.xml");        // 创建sqlSessionFactoryBuilder对象        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();        // 创建sqlSessionFactory对象        SqlSessionFactory build = builder.build(resource);        // 创建Session对象        session = build.openSession();        // 执行方法        stuDao = session.getMapper(StudentsDao.class);    }    @After // 在test方法之后执行    public void close() throws IOException {        // 关闭资源        session.close();        resource.close();    }    @Test    public void test01(){        List list = stuDao.findAll();        for (Students students : list) {            System.out.println(students);        }    }}

感谢各位的阅读,以上就是"怎么用java mybatis框架实现多表关系查询功能"的内容了,经过本文的学习后,相信大家对怎么用java mybatis框架实现多表关系查询功能这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

0