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

8、自定义映射resultMap

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

8、自定义映射resultMap

8、自定义映射resultMap 搭建MyBatis框架

新建modules ----->resultMap
t_emp表:

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for t_emp
-- ----------------------------
DROp TABLE IF EXISTS `t_emp`;
CREATE TABLE `t_emp`  (
  `emp_id` int(0) NOT NULL AUTO_INCREMENT,
  `emp_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `age` int(0) NULL DEFAULT NULL,
  `gender` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `dept_id` int(0) NULL DEFAULT NULL,
  PRIMARY KEY (`emp_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of t_emp
-- ----------------------------
INSERT INTO `t_emp` VALUES (1, '张三', 18, '男', 1);
INSERT INTO `t_emp` VALUES (2, '李四', 19, '男', 2);
INSERT INTO `t_emp` VALUES (3, '王五', 20, '女', 1);
INSERT INTO `t_emp` VALUES (4, '赵六', 21, '男', 3);

SET FOREIGN_KEY_CHECKS = 1;

t_dept表:

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for t_dept
-- ----------------------------
DROP TABLE IF EXISTS `t_dept`;
CREATE TABLE `t_dept`  (
  `dept_id` int(0) NOT NULL AUTO_INCREMENT,
  `dept_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  PRIMARY KEY (`dept_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of t_dept
-- ----------------------------
INSERT INTO `t_dept` VALUES (1, 'A');
INSERT INTO `t_dept` VALUES (2, 'B');
INSERT INTO `t_dept` VALUES (3, 'C');
INSERT INTO `t_dept` VALUES (4, 'D');

SET FOREIGN_KEY_CHECKS = 1;

8.1、resultMap处理字段和属性的映射关系 使用全局配置处理字段名和属性名不一致的问题

        
        
    


    private Integer empId;

    private String empName;

    private Integer age;

    private  String gender;

 
    
    
        select * from t_emp where emp_id = #{empId}
    

8.2、多对一映射处理 8.2.1、级联方式处理映射关系

Emp中添加dept

private Dept dept;
    
       
        
        
        
        
        
    
    
    
        select * from t_emp where emp_id = #{empId}
    

DeptMapper.xml

    
    
        select * from t_dept
            left join t_emp on
            t_dept.dept_id = t_emp.dept_id
            where t_dept.dept_id = #{deptId}
    

测试

    @Test
    public void  testGetDeptAndEmpByDeptId(){
        SqlSession sqlSession = sqlSessionUtil.getSqlSession();
        DeptMapper mapper = sqlSession.getMapper(DeptMapper.class);
        Dept deptAndEmpByDeptId = mapper.getDeptAndEmpByDeptId(1);
        System.out.println(deptAndEmpByDeptId);
    }
8.3.2、分步查询

Dept

private List emps;

DeptMapper

    //分步查询(1)查询部门以及部门中的员工
    Dept getDeptAndEmpByStepOne(@Param("deptId") Integer deptId);
    
        
        
        
        
    
    
    
        select * from t_emp where dept_id = #{deptId};
    

测试

    @Test
    public void  testGetDeptAndEmpByStep(){
        SqlSession sqlSession = sqlSessionUtil.getSqlSession();
        DeptMapper mapper = sqlSession.getMapper(DeptMapper.class);
        Dept deptAndEmpByStepOne = mapper.getDeptAndEmpByStepOne(1);
        System.out.println(deptAndEmpByStepOne);
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1032704.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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