mybatis使用association分步查询关联属性查询

 时间:2024-10-12 22:32:46

1、我们的程序是要查询员工信息的时候查询出相应的部门信息。

mybatis使用association分步查询关联属性查询

2、在xml中定义员工分步查询的sql实现。先按照员工id查询员工信息。根据查询员工信息中的部门id去部门表查出部门信息。然后把部门设置到员工中。<select id="getEmpById" resultMap="MyEmpByStep" databaseId="mysql"> select * from tbl_emp where emp_id = #{empId} </select>

mybatis使用association分步查询关联属性查询

3、定义员工信息返回的resultMap。<resultMap type="com.gwolf.bean.Employee" id="MyEmpByStep"> <id column="emp_id" property="empId"/> <result column="emp_name" property="empName"/> <result column="gender" property="gender"/> <result column="email" property="email"/> <result column="emp_name" property="empName"/> <association property="department" select="com.gwolf.dao.DepartmentMapper.getDepartmentById"></association> </resultMap>

mybatis使用association分步查询关联属性查询

4、定义将员工的那一列的值传值给部门。<association property="department" select="com.gwolf.dao.DepartmentMapper.getDepartmentById" column="d_id"></association>

mybatis使用association分步查询关联属性查询

5、编写单元测试类。@Test public void test1() throws Exception { Stri荏鱿胫协ng resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession(); try { EmployeeMapper employeeMapper = sqlSession.getMapper(EmployeeMapper.class); Map<Integer,Object> employee = employeeMapper.getEmpByIdReturnMap(1); System.out.println(employee); }finally { sqlSession.close(); } }

mybatis使用association分步查询关联属性查询

6、执行单元测试,查看部门的信息是否能够查询出来。

mybatis使用association分步查询关联属性查询
  • ASP.NET软件工程师需要学习哪些技术知识
  • Eclipse插件开发教程3-插件的导出和安装应用
  • 使用idea 创建maven web 项目速度慢
  • 如何安装vmware player
  • vscode如何隐藏小地图
  • 热门搜索
    警察博物馆 后记怎么写 思亲肤护肤品怎么样 男童发型2020最新图片 怎么在方框里打钩 消防常识二十条 轻蔑的近义词是什么 纯粹的近义词 套套怎么用 rtf文件怎么打开