栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

05-Mybatis多表操作

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

05-Mybatis多表操作

表:

orders表:                                                       user表:

        

实体类属性:

一.多表一对一配置

查询语句:select *,o.id iod from orders o,user u where o.uid=u.id

目的:把如图所示user属性封装到order实体类的user属性里

1.编写OrderMapper类->编写对应OrderMapper.xml映射文件->核心配置文件配置映射文件
    
    
        
        
    
2.编写映射文件sql语句

1.配置resultMap映射

方法1:直接使用“类型.属性”封装

    
    
        
        
        
        
        
        
        
        
        
    

方法2:使用标签封装

        
            
            
            
            
        

2.编写查询语句






    
    
        
        
        
        
        
        
        
        
        
    

    

        select *,o.id iod from orders o,user u where o.uid=u.id
    


3.测试类
    @Test
    public void test1() throws IOException {
        //获得核心配置文件
        InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
        //获得session工厂对象
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        //获得session会话对象
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //执行操作 参数:namespace + id
        OrderMapper mapper = sqlSession.getMapper(OrderMapper.class);
        List all = mapper.findAll();

        System.out.println(all);
        //释放资源
        sqlSession.close();
    }
二.多表一对多配置

一个用户对应多个订单,一个订单只属于一个用户,查询一个用户,同时查询出该用户具有的订单

查询语句:select *,o.id oid from user u,orders o where u.id=o.uid

 

1.给user实体添加属性
    //描述的是当前用户存在哪些订单
    private List orderList;
2.编写对应的mapper类及映射文件sql语句

1.标签用映射 

2.结果映射使用标签封装List







    
        
        
        
        
        
        
            
            
            
            
        
    

    

 


 参考接口及配置文件

package com.itheima.mapper;

import com.itheima.domain.User;

import java.util.List;

public interface UserMapper {

    public List findAll();
    public List findUserAndRoleAll();
}
package com.itheima.mapper;

import com.itheima.domain.Order;

import java.util.List;

public interface OrderMapper {
    public List findAll();
}

核心





    
    
    
    
        
        
        
    

    
    
        
    
    
    
        
            
            
        
    
    
    
    

        
            
            
            
            
                
                
                
                
            
        

    

    
    
        
        
    


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/314884.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号