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

南海营销网站建设商品促销活动策划方案

南海营销网站建设,商品促销活动策划方案,营销培训心得体会总结,萧县住房和城乡建设局网站目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 导语 一、一对一的关系映射 1.表结构 2.resultMap配置 3.测试关系映射 二、一对多的关系映射 1.表结构 2.resultMap配置 3.测试关系映射 三、多对多的关系映射 1.表结构…

      

目录

🥳🥳Welcome Huihui's Code World ! !🥳🥳

导语

一、一对一的关系映射

1.表结构

2.resultMap配置

3.测试关系映射

二、一对多的关系映射

1.表结构

2.resultMap配置

3.测试关系映射

三、多对多的关系映射 

1.表结构

​编辑

2.resultMap配置

3.测试关系映射


🥳🥳Welcome Huihui's Code World ! !🥳🥳

接下来看看由辉辉所写的关于Mybatis的相关操作吧


导语

        在实际开发中,对数据库的操作常常会涉及到多张表,针对多表之间的操作,MyBatis 提供了关联映射,通过关联映射可以很好地处理表与表、对象与对象之间的关联关系。

在关系型数据库中,表与表之间存在着三种关联映射关系,分别为一对一关系、一对多关系和多对多关系

  • 一对一的关系:就是在本类中定义对方类型的对象,如A类中定义B类类型的属性b,B类中定义A类类型的属性a。
  • 一对多的关系:就是一个A类类型对应多个B类类型的情况,需要在A类中以集合的方式引入B类类型的对象,在B类中定义A类类型的属性a。
  • 多对多的关系:在A类中定义B类类型的集合,在B类中定义A类类型的集合。

调节数据库字段与实体类的属性对应需要标签resultMap,就可以这样写:

<resultMap id="empResultMap" type="Emp"><id property="empId" column="emp_id"></id><result property="empName" column="emp_name"></result><result property="age" column="age"></result><result property="gender" column="gender"></result>
</resultMap><select id="getEmpById" resultMap="empResultMap">select * from t_emp where emp_id = #{empId};</select>

属性:

  • id:表示自定义映射的唯一标识
  • type:查询的数据要映射的实体类的类型

子标签:

  • id:设置主键的映射关系
  • result:设置普通字段的映射关系
  • association :设置多对一的映射关系
  • collection:设置一对多的映射关系

属性:

  • property:设置映射关系中实体类中的属性名
  • column:设置映射关系中表中的字段名


一、一对一的关系映射

1.表结构

这里需要建一个VO类,VO是Value Object的缩写,是一种轻量级的数据结构,用于在视图层与业务逻辑层之间传递数据。VO通常用于表示视图层所需的数据,这些数据来自于业务逻辑层或数据访问层。VO的主要目的是将业务逻辑层的数据结构转换为视图层可以使用的数据结构 。简单来说就是用于关系映射时的结果接收。

下面我们利用订单项以及订单来描述一对一的关系,所以我们建立一个OrderitemVo。

package com.wh.vo;import com.wh.model.HOrder;
import com.wh.model.HOrderItem;/*** @author 王辉* @site www.shihuihuila.com* @create 2023-09-03 17:15*/public class OrderitemVo extends HOrderItem {private HOrder order;public HOrder getOrder() {return order;}public void setOrder(HOrder order) {this.order = order;}
}

2.resultMap配置

<resultMap id="OrderitemvoMap" type="com.wh.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.wh.model.HOrder"><result column="order_id" property="orderId"></result><result column="order_no" property="orderNo"></result></association></resultMap><select id="selectByOiid" resultMap="OrderitemvoMap" parameterType="java.lang.Integer">select * from t_hibernate_order o,t_hibernate_order_item oi where o.order_id=oi.oid and oi.order_item_id=#{oiid}</select>

3.测试关系映射

HOrderItemMapper

package com.wh.mapper;import com.wh.model.HOrderItem;
import com.wh.vo.OrderitemVo;
import org.springframework.stereotype.Repository;@Repository
public interface HOrderItemMapper {OrderitemVo selectByOiid(Integer bid);}

HOrderItemBiz

package com.wh.biz;import com.wh.vo.OrderitemVo;/*** @author 王辉* @site www.shihuihuila.com* @create 2023-09-03 17:41*/
public interface HOrderItemBiz {OrderitemVo selectByOiid(Integer bid);
}

HOrderItemBizImpl 

package com.wh.biz;import com.wh.mapper.HOrderItemMapper;
import com.wh.vo.OrderitemVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;/*** @author 王辉* @site www.shihuihuila.com* @create 2023-09-03 17:41*/
@Service
public class HOrderItemBizImpl implements HOrderItemBiz {@Autowiredprivate HOrderItemMapper horderItemMapper;@Overridepublic OrderitemVo selectByOiid(Integer bid) {return horderItemMapper.selectByOiid(bid);}
}

 junit测试类

package com.wh.biz;import com.wh.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 王辉* @site www.shihuihuila.com* @create 2023-09-03 17:43*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:Spring-context.xml"})
public class HOrderItemBizImplTest {@Autowiredprivate HOrderItemBiz horderItemBiz;@Testpublic void selectByOiid() {OrderitemVo orderitemVo = horderItemBiz.selectByOiid(27);System.out.println(orderitemVo);System.out.println(orderitemVo.getOrder());}
}

测试结果: 

二、一对多的关系映射

1.表结构

下面我们利用订单以及订单项来描述一对多的关系,所以我们建立一个OrderVo。

package com.wh.vo;import com.wh.model.HOrder;
import com.wh.model.HOrderItem;import java.util.ArrayList;
import java.util.List;/*** @author 王辉* @site www.shihuihuila.com* @create 2023-08-26 16:41*/
public class OrderVo extends HOrder {private List<HOrderItem> horderItems=new ArrayList<>();public List<HOrderItem> getHorderItems() {return horderItems;}public void setHorderItems(List<HOrderItem> horderItems) {this.horderItems = horderItems;}
}

2.resultMap配置

 <resultMap id="OrderMap" type="com.wh.vo.OrderVo" ><result column="order_id" property="orderId"></result><result column="order_no" property="orderNo"></result><collection property="orderitems" ofType="com.wh.model.HOrderItem"><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="OrderMap" parameterType="java.lang.Integer" >select * from t_hibernate_order o,t_hibernate_order_item oi where o.order_id=oi.oidand o.order_id=#{oid}</select>

3.测试关系映射

HOrderMapper

package com.wh.mapper;import com.wh.model.HOrder;
import com.wh.vo.OrderVo;
import org.springframework.stereotype.Repository;@Repository
public interface HOrderMapper {OrderVo selectbyOid(Integer boid);}

 HOrderBiz

package com.wh.biz;import com.wh.vo.OrderVo;public interface HOrderBiz {OrderVo selectbyOid(Integer boid);
}

HOrderBizImpl

package com.wh.biz;import com.wh.mapper.HOrderMapper;
import com.wh.vo.OrderVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;/*** @author 王辉* @site www.shihuihuila.com* @create 2023-08-26 16:55*/
@Service
public class HOrderBizImpl implements HOrderBiz {@Autowiredprivate HOrderMapper hOrderMapper;@Overridepublic OrderVo selectbyOid(Integer boid) {return hOrderMapper.selectbyOid(boid);}
}

junit测试类 

package com.wh.biz;import com.wh.vo.OrderVo;
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 王辉* @site www.shihuihuila.com* @create 2023-08-26 16:59*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:Spring-context.xml"})
public class HOrderBizImplTest {@Autowiredprivate HOrderBiz hOrderBiz;@Testpublic void selectbyOid() {OrderVo orderVO = hOrderBiz.selectbyOid(7);System.out.println(orderVO);orderVO.getHorderItems().forEach(System.out::println);}
}

测试结果: 

三、多对多的关系映射 

1.表结构

我们以书籍有多个类别以及每个类别又有多本书的这种关系来实操多对多关系的查询

public class HbookVo  extends HBook {private List<HCategory> hcategory;public List<HCategory> getHcategory() {return hcategory;}public void setHcategory(List<HCategory> hcategory) {this.hcategory = hcategory;}
}

2.resultMap配置

<resultMap id="HbookVo" type="com.wh.vo.HbookVo" ><result column="book_id" property="bookId"></result><result column="book_name" property="bookName"></result><result column="price" property="price"></result><collection property="hcategory" ofType="com.wh.model.HCategory"><result column="category_id" property="categoryId"></result><result column="category_name" property="categoryName"></result></collection></resultMap><select id="selectByBid" resultMap="HbookVo" parameterType="java.lang.Integer">SELECT*
FROMt_hibernate_book b,t_hibernate_book_category bc,t_hibernate_category c
WHEREb.book_id = bc.bidAND bc.cid = c.category_idAND b.book_id =#{bid}</select>

3.测试关系映射

HBookMapper

package com.wh.mapper;import com.wh.model.HBook;
import com.wh.vo.HbookVo;
import org.springframework.stereotype.Repository;@Repository
public interface HBookMapper {HbookVo selectByBid(Integer bid);}

 HBookBiz

package com.wh.biz;import com.wh.vo.HbookVo;/*** @author 王辉* @site www.shihuihuila.com* @create 2023-09-03 18:41*/
public interface HBookBiz {HbookVo selectByBid(Integer bid);
}

HBookBizImpl

package com.wh.biz;import com.wh.mapper.HBookMapper;
import com.wh.vo.HbookVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;/*** @author 王辉* @site www.shihuihuila.com* @create 2023-09-03 18:41*/
@Service
public class HBookBizImpl implements HBookBiz {@Autowiredprivate HBookMapper hBookMapper;@Overridepublic HbookVo selectByBid(Integer bid) {return hBookMapper.selectByBid(bid);}
}

junit测试类

 

package com.wh.biz;import com.wh.vo.HbookVo;
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 王辉* @site www.shihuihuila.com* @create 2023-09-03 18:42*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:Spring-context.xml"})
public class HBookBizImplTest {@Autowiredprivate HBookBiz hBookBiz;@Testpublic void selectByBid() {HbookVo hbookVo = hBookBiz.selectByBid(8);System.out.println(hbookVo);hbookVo.getHcategory().forEach(System.out::println);}
}

测试结果: 

 好啦,今天的分享就到这了,希望能够帮到你呢!😊😊  


文章转载自:
http://doek.dkqr.cn
http://diestrous.dkqr.cn
http://madhouse.dkqr.cn
http://reconsignment.dkqr.cn
http://sinology.dkqr.cn
http://smirky.dkqr.cn
http://lati.dkqr.cn
http://retrocede.dkqr.cn
http://destitution.dkqr.cn
http://oid.dkqr.cn
http://pipelaying.dkqr.cn
http://chemic.dkqr.cn
http://inconsecutive.dkqr.cn
http://archaistic.dkqr.cn
http://indigo.dkqr.cn
http://comprovincial.dkqr.cn
http://redia.dkqr.cn
http://unmown.dkqr.cn
http://prenomen.dkqr.cn
http://eastern.dkqr.cn
http://acetylcholinesterase.dkqr.cn
http://recherche.dkqr.cn
http://molinete.dkqr.cn
http://polemist.dkqr.cn
http://qaranc.dkqr.cn
http://recordmaker.dkqr.cn
http://clearheaded.dkqr.cn
http://hwyl.dkqr.cn
http://pelisse.dkqr.cn
http://petroliferous.dkqr.cn
http://recessive.dkqr.cn
http://teutophile.dkqr.cn
http://unhappy.dkqr.cn
http://undertax.dkqr.cn
http://reproducing.dkqr.cn
http://cyanhydrin.dkqr.cn
http://redrive.dkqr.cn
http://bladesmith.dkqr.cn
http://trichi.dkqr.cn
http://alpha.dkqr.cn
http://schottische.dkqr.cn
http://photodissociation.dkqr.cn
http://substitutable.dkqr.cn
http://such.dkqr.cn
http://urticariogenic.dkqr.cn
http://ellipsoid.dkqr.cn
http://sixte.dkqr.cn
http://roneo.dkqr.cn
http://wellesley.dkqr.cn
http://chamberer.dkqr.cn
http://marlstone.dkqr.cn
http://samsonite.dkqr.cn
http://hoofer.dkqr.cn
http://seecatch.dkqr.cn
http://master.dkqr.cn
http://psychic.dkqr.cn
http://optician.dkqr.cn
http://endoplasm.dkqr.cn
http://precarious.dkqr.cn
http://glycogenesis.dkqr.cn
http://unrealistic.dkqr.cn
http://competent.dkqr.cn
http://markman.dkqr.cn
http://valorously.dkqr.cn
http://germane.dkqr.cn
http://spelican.dkqr.cn
http://tuscan.dkqr.cn
http://ikbal.dkqr.cn
http://roster.dkqr.cn
http://hereditable.dkqr.cn
http://synecious.dkqr.cn
http://mezzanine.dkqr.cn
http://olunchun.dkqr.cn
http://hyperventilation.dkqr.cn
http://tsk.dkqr.cn
http://videoize.dkqr.cn
http://carnify.dkqr.cn
http://sop.dkqr.cn
http://godship.dkqr.cn
http://garnett.dkqr.cn
http://adopted.dkqr.cn
http://plough.dkqr.cn
http://scillonian.dkqr.cn
http://photic.dkqr.cn
http://distributive.dkqr.cn
http://imbrutement.dkqr.cn
http://phytochemistry.dkqr.cn
http://hogskin.dkqr.cn
http://encampment.dkqr.cn
http://shortage.dkqr.cn
http://remembrance.dkqr.cn
http://odometer.dkqr.cn
http://kharkov.dkqr.cn
http://dwindle.dkqr.cn
http://illegibly.dkqr.cn
http://sunfall.dkqr.cn
http://hoarding.dkqr.cn
http://tapescript.dkqr.cn
http://casuistics.dkqr.cn
http://microphyll.dkqr.cn
http://www.hrbkazy.com/news/85414.html

相关文章:

  • 如何选择网站关键词seo每日工作内容
  • 网站建设工作室小俊哥用html制作淘宝网页
  • 河北建设工程信息网 可靠中项网北京seo外包平台
  • 做网站编程有钱途么杭州优化公司哪家好
  • 网站 建设seo推广公司价格
  • 企业网站建设上海重庆公司seo
  • 公司网站开发 建设seo外包杭州
  • 商场网站 策划搜索优化是什么意思
  • 如何做病毒视频网站长沙百度搜索排名优化
  • 网站点击换图片的效果怎么做品牌推广渠道
  • 建设论坛网站视频网站推广平台排行
  • 人工智能营销网站开发金戈枸橼酸西地那非
  • 西安网站建设工作室百度信息流广告怎么收费
  • 制作个人网站上海网站建设费用
  • 陕西建设网一体化平台试分析网站推广和优化的原因
  • app开发网站建设及开发深圳推广优化公司
  • 做养生网站需要什么资质模板建站流程
  • 手机网站前端用什么做seo营销网站
  • 公众号怎么做网站百度查询关键词排名工具
  • 网站怎么做限时抢购电商网站平台搭建
  • 做网站app需多少钱优化网站打开速度
  • 化妆品网站建设计划书合肥网络seo推广服务
  • 建设网站的申请信用卡分期付款自己接单的平台
  • 南山做网站哪家好互联网营销策划
  • 虚拟机做局域网网站服务器配置百度推广计划
  • 做销售找客户的网站天津企业seo
  • 洪山网站建设公司站长之家网站模板
  • 梧州网站建设公司网络推广是干嘛的
  • 做养生网站需要资质吗广告搜索引擎
  • 上海有多少家网站建设公司重庆网站制作系统