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

网友投稿 306 2022-09-22


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

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

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

编写两个java实体类;

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

编写dao层接口;

编写mapper 映射文件;

编写测试类。

1.导入相关依赖

org.mybatis

mybatis

3.5.2

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 sNamehttp://;

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核心配置文件

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

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

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

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

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

select s.sname,c.cnum from students s,cards c where s.scid=c.cid;

CardsDao.xml

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

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

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);

}

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:CCNA实验:配置TRUNK中继(VTP协议)
下一篇:CCNA实验:创建VLAN
相关文章

 发表评论

暂时没有评论,来抢沙发吧~