当前位置: 首页 > news >正文

奉化网站建设昆明关键词优化

奉化网站建设,昆明关键词优化,展示型网站一样做seo优化吗,重庆金建站1.一对一的映射关系 一对一关系(One-to-One)表示两个实体对象之间存在唯一的关联关系。例如,一个学生只能拥有一个身份证。在 MyBatis 中,我们可以使用结果嵌套或一对一映射来处理一对一关系。 1.1 创建模型类和Vo类 package com…

1.一对一的映射关系

一对一关系(One-to-One)表示两个实体对象之间存在唯一的关联关系。例如,一个学生只能拥有一个身份证。在 MyBatis 中,我们可以使用结果嵌套或一对一映射来处理一对一关系。

1.1 创建模型类和Vo类

package com.YU.model;public class OrderItem {private Integer orderItemId;private Integer productId;private Integer quantity;private Integer oid;public OrderItem(Integer orderItemId, Integer productId, Integer quantity, Integer oid) {this.orderItemId = orderItemId;this.productId = productId;this.quantity = quantity;this.oid = oid;}public OrderItem() {super();}public Integer getOrderItemId() {return orderItemId;}public void setOrderItemId(Integer orderItemId) {this.orderItemId = orderItemId;}public Integer getProductId() {return productId;}public void setProductId(Integer productId) {this.productId = productId;}public Integer getQuantity() {return quantity;}public void setQuantity(Integer quantity) {this.quantity = quantity;}public Integer getOid() {return oid;}public void setOid(Integer oid) {this.oid = oid;}
}
package com.YU.vo;import com.YU.model.Order;
import com.YU.model.OrderItem;/*** @author YU* @create 2023-09-04 9:31*/
public class OrderItemVo extends OrderItem {private Order order;public Order getOrder() {return order;}public void setOrder(Order order) {this.order = order;}
}

 

 1.2 配置当前模型类的mapper.xml

<resultMap id="OrderItemVoMap" type="com.YU.vo.OrderItemVo"><result column="order_item_id" property="orderItemId"></result><result column="product_id" property="productId"></result><result column="quantity" property="quantity"></result><result column="oid" property="oid"></result><association property="order" javaType="com.YU.model.Order"><result column="order_id" property="orderId"></result><result column="order_no" property="orderNo"></result></association></resultMap><select id="selectByOrderItemId" parameterType="OrderItemVoMap" parameterMap="java.lang.Integer">SELECT * FROM t_hibernate_order o,t_hibernate_order_item oiwhere o.order_id = oi.oid and oi.order_item_id = #{oiid}</select>

1.3 开始测试

省略了业务逻辑层的编写,这里使用junit直接进行测试

package com.YU.biz.Impl;import com.YU.biz.OrderItemBiz;
import com.YU.vo.OrderItemVo;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;/*** @author YU* @create 2023-09-04 9:49*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:spring-context.xml"}
)
public class OrderTest {@Autowiredprivate OrderItemBiz orderItemBiz;@Testpublic void selectOrderItemId(){OrderItemVo orderItemVo = orderItemBiz.selectByOrderItemId(27);System.out.println(orderItemVo);System.out.println(orderItemVo.getOrder());}
}

2.一对多的映射关系

一对多关系(One-to-Many)表示一个实体对象(一的一方)可以与多个相关实体对象(多的一方)建立关联。例如,一个部门可以有多个员工。在 MyBatis 中,我们可以使用嵌套查询或结果映射来处理一对多关系。

2.1 创建模型类和Vo类

package com.YU.model;import lombok.ToString;@ToString
public class Order {private Integer orderId;private String orderNo;public Order(Integer orderId, String orderNo) {this.orderId = orderId;this.orderNo = orderNo;}public Order() {super();}public Integer getOrderId() {return orderId;}public void setOrderId(Integer orderId) {this.orderId = orderId;}public String getOrderNo() {return orderNo;}public void setOrderNo(String orderNo) {this.orderNo = orderNo;}
}
package com.YU.vo;import com.YU.model.Order;
import com.YU.model.OrderItem;import java.util.ArrayList;
import java.util.List;/*** @author YU* @create 2023-09-04 9:31*/
public class OrderVo extends Order {private List<OrderItem> OrderItems = new ArrayList<>();public List<com.YU.model.OrderItem> getOrderItem() {return OrderItems;}public void setOrderItem(List<com.YU.model.OrderItem> OrderItems) {this.OrderItems = OrderItems;}
}

2.2 配置当前模型类的mapper.xml

<resultMap id="OrderVoMap" type="com.YU.vo.OrderVo"><result column="order_id" property="orderId"></result><result column="order_no" property="productId"></result><collection property="orderItems" ofType="com.YU.model.Order"><result column="order_item_id" property="orderItemId"></result><result column="product_id" property="productId"></result><result column="quantity" property="quantity"></result><result column="oid" property="oid"></result></collection></resultMap><select id="selectByOid" resultMap="OrderVoMap" parameterType="java.lang.Integer">SELECT * FROM t_hibernate_order o,t_hibernate_order_item oiwhere o.order_id = oi.oid and o.order_id = #{oid}</select>

2.3 开始测试

@Autowiredprivate OrderBiz orderBiz;@Testpublic void selectByOid(){OrderVo orderVo = orderBiz.selectByOid(7);System.out.println(orderVo);orderVo.getOrderItem().forEach(System.out::println);}

3.多对多的映射关系

多对多的映射关系是指两个实体之间存在多对多的关系,其中一个实体可以关联多个另一个实体,而另一个实体也可以关联多个第一个实体。

在关系型数据库中,多对多的关系需要通过中间表(也称为连接表)来实现。中间表包含两个外键关联到两个实体的主键,用于记录它们之间的关系。

总结

在 MyBatis 中,映射关系是指数据库表和 Java 对象之间的映射配置,用于将查询结果映射到 Java 对象或将 Java 对象的属性映射到数据库表的列

基于 XML 的映射方式:

  • 使用 <resultMap> 元素配置结果集的映射关系,指定数据库列和 Java 对象属性之间的映射。
  • 可以使用 <result> 元素将数据库列映射到 Java 对象的属性,并指定属性的类型、映射关系及相关配置。
  • 可以使用 <association> 元素配置关联对象的映射关系,用于映射复杂对象之间的关系。
  • 可以使用 <collection> 元素配置集合类型对象的映射关系,用于映射一对多或多对多的关系。
  • 使用 <sql> 元素定义可重用的 SQL 片段,提供了组织和共享 SQL 语句的能力。

 注意点: 

  • 确保数据库表和 Java 对象的属性名称、类型一致,以便正确地映射数据。
  • 配置正确的映射关系,确保查询结果能正确映射到 Java 对象,或对象的属性能正确映射到数据库表。
  • 对于复杂的关联关系,需要配置适当的映射关系,以便处理关联对象之间的关系。

正确配置映射关系可以提高数据的访问效率和开发效率,使数据库表和 Java 对象之间的转换更加方便和灵活。

http://www.hotlads.com/news/4537.html

相关文章:

  • 济南做网站公司电话长沙seo霸屏
  • 服务器网站 都被做跳转服装店营销策划方案
  • 台州网站设计外包咸宁网站seo
  • 网站个人建设网页广告怎么做
  • 大良品牌网站建设北京网站建设运营
  • wordpress站点标题看不到排名seo公司哪家好
  • 工厂型企业做网站专业全网优化
  • 有什么做vi设计的网站关键词怎样做优化排名
  • 城乡企业建设部网站网络营销成功的案例
  • 山东省日照市有专业做网站的慧达seo免登录发布
  • 安徽网站建设杭州网站seo价格
  • 腾讯分分彩做号网站自建网站平台
  • 马云为什么做网站中文域名注册官网入口
  • 做网站服务器和域名seo网站优化快速排名软件
  • 买了域名之后如何做网站sem模型
  • 无锡企业网站制作整合营销策划方案
  • 江西网站建设哪家好灰色行业推广
  • 广东省建设教育协会官方网站seo优化怎么做
  • 网站被跳转怎么办window优化大师官网
  • 网站代优化完整企业网站模板
  • 网络营销网站建设方案市场调研分析报告怎么写
  • seo智能优化系统安卓优化大师手机版下载
  • 商标被注册了做网站网店运营推广方案
  • css不规则网站导航怎么做兰州网站优化
  • 国外专门做美女车模的网站百度热榜实时热点
  • 黄埔做网站公司微信小程序排名关键词优化
  • 苏州web网站建设灰色产业推广引流渠道
  • 商丘市网站建设公司专业seo培训学校
  • 游戏网站开发文档百度收录网站
  • 电子商务网站名字文案代写