博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(八)mybatis之多对多
阅读量:6900 次
发布时间:2019-06-27

本文共 2699 字,大约阅读时间需要 8 分钟。

一、需求分析

  • 需求:查询所有用户的信息以及每个用户所属的组的信息
  • 分析:一个用户可以有多个组,一个组也可以由多个用户。
  • 多对多,可以设置一张中间表,该表存放的是用户表和组表的对应关系。

二、创建数据库和实体对象

 User.java

package com.shyroke.entity;import java.util.List;public class User {    private int id;    private String userName;    private String passWord;    //一个用户有多个组    private List
groupList; //隐藏get和set方法 }

 

 Group.java

package com.shyroke.entity;import java.util.List;public class Group {    private int id;    private String group_name;    private String group_num;//一个组有多个用户    private List
userList;}

 

 三、创建UserMapper.java接口和UserMapper.xml配置文件

 UserMapper.java

package com.shyroke.mapper;import java.util.List;import com.shyroke.entity.User;public interface UserMapper {        public List
selectUserAndGroup();}

 UserMapper.xml

 

四、添加mapper到总配置文件

   mybatis-config.xml:

 

五、测试

package com.shyrolk.firstMybatis;import java.io.IOException;import java.io.InputStream;import java.util.List;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 com.shyroke.entity.User;import com.shyroke.mapper.UserMapper;/** * Hello world! * */public class App {    public static void main(String[] args) throws IOException {        String resource = "resource/mybatis-config.xml";        InputStream inputStream = Resources.getResourceAsStream(resource);        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);        SqlSession session = sessionFactory.openSession();        UserMapper userMapper= session.getMapper(UserMapper.class);        List
userList = userMapper.selectUserAndGroup(); for(User user:userList){ System.out.println(user.getId()); System.out.println(user.getPassWord()); System.out.println(user.getUserName()); System.out.println(user.getGroupList()); } }}

结果:

 

转载于:https://www.cnblogs.com/shyroke/p/7606620.html

你可能感兴趣的文章
怎样在RedHat Linux上使用oracle-validated包
查看>>
模拟web高并发
查看>>
解决数据重复导致查询出错问题
查看>>
springmvc(4)注解简单了解
查看>>
HTMLCSS学习笔记(四)----浮动原理及清浮动
查看>>
探究如何求两数的最大公约数(两种方法)
查看>>
Better Django models
查看>>
第 8 章 容器网络 - 054 - 准备 macvlan 环境
查看>>
第 10 章 容器监控 - 081 - Weave Scope 多主机监控
查看>>
FLASK爬坑笔记
查看>>
[haoi2008]圆上的整点
查看>>
node.js常用方法
查看>>
iscroll手册
查看>>
5.Struts2框架中的ServletAPI如何获取
查看>>
java学习路线
查看>>
layui-学习01-基本api
查看>>
Angular 表单验证 基础篇
查看>>
大话设计模式第十三章---建造者模式
查看>>
Google Chrome浏览器的使用方法
查看>>
No 'Access-Control-Allow-Origin' header is present on the requested resource
查看>>