一、表关系:一对一查询
创建实体类
订单实体:order.java
public class Order {
private Integer id;//订单主键ID
private String name;//订单名字
private Integer userid;//用户ID
}
用户实体:User.java
public class User {
private Integer id;//用户主键ID
private String name;//用户名字
private List
orders;//订单明细
}
创建OrderMapper.java,UserMapper.java
public interface OrderMapper {
List
findOrdersByUserId(@Param("uid")Integer id);
}
public interface UserMapper {
User findById(@Param("uid")Integer id);
List
allUser();
}
创建OrderMapper.xml,UserMapper.xml和上面对应的接口名称一致,以便通过mapper接口加载配置文件 OrderMapper.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--namespace:一般写对应的接口路径-->
<mapper namespace="com.lanou.ord.mapper.OrderMapper">
<select id="findOrdersByUserId" resultType="Order">
SELECT * FROM ord WHERE userid=#{uid}
</select>
</mapper>
二、 resultMap映射思路:
使用resultMap将查询结果中的订单信息映射到Orders对象中,在orders类中添加User属性,将关联查询出来的用户信息映射到orders对象中的user属性中(上面orders实体类中已经添加order订单明细).
1、UserMapper.xml
先定义resultMap
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--namespace:一般写对应的接口路径-->
<mapper namespace="com.lanou.ord.mapper.UserMapper">
<!--定义查询订单关联用户的resultMap,将整个的查询结果映射到namespace-->
<resultMap id="UserMap" type="User">
<!--id:查询列中的唯一标识,订单信息中的唯一标识,如果多列组成唯一标识(如:一般数据库设计中的字典表,使
用联合主键),就需要配置多个id;
column:订单信息的唯一标识,列;
property:订单信息的唯一标识所映射到orders中的那个属性(如:数据库中orders表中的主键为
orders_id,而实体属性名称为ordersId),则这个这个配置应为<id column="orders_id"
property="ordersId"/>,类似hibernate实体映射文件配置.-->
<id column="id" property="id"/>
<result column="name" property="name"/>
<!--property:映射到user的那个属性;
column:指定唯一标识用户信息的列;-->
<collection property="orders"
column="id"
select="com.lanou.ord.mapper.OrderMapper.findOrdersByUserId"/>
</resultMap>
<select id="findById" resultMap="UserMap">
SELECT * FROM user WHERE id = #{uid};
</select>
<select id="allUser" resultMap="UserMap">
SELECT * FROM user;
</select>
</mapper>
未完待续…
分享到:
相关推荐
SSM框架,即Spring、SpringMVC和MyBatis,是Java Web开发中常见的三大组件,它们协同工作,为开发者提供了高效、灵活的后端架构。本教程将深入讲解这三大框架的应用开发与案例实战,旨在帮助学习者掌握SSM框架的核心...
SSM框架,全称为Spring、SpringMVC和MyBatis的集成框架,是Java开发Web应用的主流选择。这三个组件协同工作,构建出高效、灵活的后端服务。接下来,我们将详细探讨这三个框架的核心概念、功能及它们如何协同工作。 ...
SSM框架,全称为Spring MVC、Spring和Mybatis的集成框架,是Java Web开发中广泛使用的三大组件。Spring MVC作为控制器处理HTTP请求,Spring作为应用上下文管理Bean,Mybatis则作为持久层框架,简化数据库操作。这个...
SSM框架学习(一)Mybatis 在Java Web开发中,SSM框架是Spring、Spring MVC和Mybatis的集成,广泛应用于复杂业务场景。本文将详细介绍如何使用Myeclipse工具来创建并实现Mybatis最基础的数据库访问功能。 首先,...
通过学习和实践这个SSM框架小项目,开发者不仅可以掌握SSM框架的集成和使用,还能了解到Web应用开发的基本流程,对Java后端开发有更深入的理解。对于初学者来说,这是一个很好的起点,而对于有一定经验的开发者,这...
SSM框架,全称为Spring、SpringMVC和MyBatis的组合,是Java Web开发中常用的三大组件。这个"ssm框架的一个简单案例"旨在帮助开发者理解如何将这三个框架集成到一起,创建一个完整的Web应用。 Spring框架是核心,它...
SSM框架,全称为Spring+SpringMVC+Mybatis,是Java开发中广泛使用的三大开源框架集成,用于构建高效、灵活的Web应用。这个“Eclipse纯净版SSM框架”是一个专门为初学者和项目起步阶段准备的源码示例,包含了一个基本...
SSM框架,全称为Spring、SpringMVC和MyBatis的组合,是Java Web开发中常用的三大组件。这个框架集合提供了强大的服务层管理、视图层处理和数据访问能力。在本项目中,我们将探讨如何在SSM环境中,利用MyBatis作为...
通过对SSM框架的介绍和MyBatis的具体实践,我们不仅了解了框架技术在现代软件开发中的重要性,还掌握了如何利用这些工具和技术来提高开发效率和软件质量。随着技术的不断进步和发展,未来还将出现更多优秀的技术框架...
Spring、SpringMVC和Mybatis是Java开发中最常用的三大开源框架,它们的整合使用,通常被称为SSM框架。这个框架组合提供了完整的后端服务解决方案,包括依赖注入(DI)、面向切面编程(AOP)、模型-视图-控制器(MVC...
SSM框架,全称Spring、SpringMVC和MyBatis,是Java开发中常见的Web应用框架组合。这个压缩包文件提供了使用SSM框架和MyBatis进行自动化代码生成的实践,帮助开发者提高效率,减少手动编写重复代码的时间。其中包含的...
SSM框架,即Spring、SpringMVC和MyBatis的集成,是Java开发中常见的Web应用程序框架组合。这个框架集合提供了完整的后端解决方案,涵盖了依赖注入(DI)、面向切面编程(AOP)、模型视图控制器(MVC)以及持久层操作...
这个"ssm框架学习.zip"压缩包很显然是为了帮助开发者或者初学者系统地理解和学习这三个框架的集成与应用。 首先,让我们逐一解析每个框架的核心概念: 1. **Spring**:Spring是一个全面的后端应用程序开发框架,它...
SSM框架是Java Web开发中常用的整合框架,由Spring、SpringMVC和MyBatis三个组件构成。这个“干净详细配置的SSM框架demo”旨在提供一个清晰易懂的示例,帮助开发者快速理解和上手这三大框架的集成应用。 **Spring...
其他说明:在学习过程中需要注意 MyBatis 对于配置的灵活性及对数据库操作的强大支持能力。同时,理解 MyBatis 在 SSM 整合中的角色,特别是如何通过配置简化项目开发,提升项目的稳定性和可维护性。
SSM框架,全称为Spring、SpringMVC和MyBatis的组合,是Java Web开发中常用的一套企业级应用框架。本章将详细介绍如何利用SSM框架开发高效、稳定的后端服务,帮助初学者迈进后端开发的大门。 首先,Spring作为核心...
SSM框架整合是Java开发中常见的技术组合,包括Spring 4.0、Spring MVC 4.0和Mybatis 3.2。这三个组件一起构建了一个强大的后端开发环境,能够处理复杂的业务逻辑、数据访问以及用户界面交互。下面将详细阐述这三个...
SSM框架整合是Java开发中常见的一种技术组合,它包括Spring、Spring MVC和MyBatis三个组件。这个教程是基于2022年的尚硅谷学习资料,主要关注MyBatis在SSM中的应用。下面我们将深入探讨MyBatis以及如何在SSM中进行...
SSM框架,即Spring、Spring MVC和MyBatis的整合,是Java开发中常见的Web应用框架,用于构建高效、灵活的后端服务。本教程将详细介绍如何配置和搭建这一框架,帮助开发者理解其核心概念和操作流程。 首先,我们要...
《互联网轻量级SSM框架解密:Spring、MVC、Mybatis源码深度剖析》 在当前的Java开发领域,Spring、Spring MVC和Mybatis是广泛应用的轻量级框架,构成了SSM(Spring、SpringMVC、Mybatis)集成框架,为开发者提供了...