(转)淘淘商城系列——导入商品数据到索引库——dao层

(转)淘淘商城系列——导入商品数据到索引库——dao层

大家好,又见面了,我是全栈君。

http://blog.csdn.net/yerenyuan_pku/article/details/72889058

我们先来看看我们要导入数据的sql语句并且查看查询结果。 
(转)淘淘商城系列——导入商品数据到索引库——dao层
从上图可知我们需要从tb_item、tb_item_cat,、tb_item_desc三张表中查询数据。针对来自三张表的数据,我们最好使用一个pojo来接收这些数据,而且这个pojo还会作为查询结果的载体。因为服务层和表现层都会用到这个pojo,我们最好把它放到taotao-common工程的com.taotao.common.pojo包下。我们新建一个SearchItem类(记得该类要实现序列化,因为要进行网络传输),如下图所示。 
(转)淘淘商城系列——导入商品数据到索引库——dao层
price字段类型之所以定义为Long类型是为了避免使用浮点数类型(Float),价格精确到分,也就是由原来的以元单位的价格乘以100倍(数据库中的价格存储的都是以分为单位的价格)。 
由于我们要导入的数据来自于三张表,用逆向工程生成的代码已经解决不了问题了,需要我们手动来写Mapper文件。那么Mapper文件我们应该放到哪儿呢?可能有人认为应该放到taotao-manager-dao工程下,但是这其实是不太合理的,我们搜索服务只是引用taotao-manager-dao工程的一些东西,搜索服务的这个操作非常特殊,别的工程都用不着,因此我们放到taotao-manager-dao工程不太合适,我们直接放到taotao-search-service工程下会更合适。 
我们在taotao-search-service工程下新建一个”com.taotao.search.mapper”包,并在该包下新建一个ItemMapper接口,在接口中添加一个getItemList方法,如下图所示。 
(转)淘淘商城系列——导入商品数据到索引库——dao层
接下来我们把taotao-manager-dao工程下的某个mapper.xml文件拷贝一份到com.taotao.search.mapper包下并重命名为ItemMapper.xml,留下头部,<mapper></mapper>标签中其余的东西都删掉,并在mapper中定义一个sql语句,id为ItemMapper接口中方法的名字,resultType是我们定义的pojo类的全类名。 
(转)淘淘商城系列——导入商品数据到索引库——dao层
为了方便大家复制,现将ItemMapper.xml文件的内容贴出。

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.taotao.search.mapper.ItemMapper"> <select id="getItemList" resultType="com.taotao.common.pojo.SearchItem"> SELECT a.id, a.title, a.sell_point, a.price, a.image, b.`name` category_name, c.item_desc FROM tb_item a LEFT JOIN tb_item_cat b ON a.cid = b.id LEFT JOIN tb_item_desc c ON a.id = c.item_id WHERE a.`status`=1 </select> </mapper>

 

这样,把商品数据导入到索引库中的Dao层代码编写完毕!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108430.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JAVA遍历数组的三种方法_java遍历object数组

    JAVA遍历数组的三种方法_java遍历object数组publicArrayListgetinferfacelist(ArrayListtaskNameLists){StringinterfaceName=””;StringsplitedWorkTable=””;ArrayListinterfaceNameList=newArrayList();//遍历获取作业名list里的每个作业名for(TaskNameListtaskN…

    2026年1月27日
    3
  • 网站测速源码_域名检测工具

    网站测速源码_域名检测工具简介:网址发布页模板,带网址测和域名检测功能,虽然是假的,但是也很有逼格。网盘下载地址:http://kekewl.net/D0Ef4yBuoyy0图片:

    2022年8月31日
    3
  • python numba_如何用numba加速python?

    python numba_如何用numba加速python?我把写好的 markdown 导入进来 但是没想到知乎的排版如此感人 如果对知乎排版不满想要看高清清爽版 请移步微信公众号原文如何用 numba 加速 python 同时欢迎关注前言说道现在最流行的语言 就不得不提 python 可是 python 虽然容易上手 但速度却有点感人 如何用简单的方法让 python 加速到近乎可以媲美 C 的速度呢 今天来就来谈谈 numba 这个宝贝 对你没看错 不是 numpy 就是 num

    2025年6月11日
    4
  • 什么是Load Average?

    什么是Load Average?运维工程师在日常运维中经常使用w、top、uptime等命令来查看系统当前运行的负载情况。那么作为运维工程师是如何通过以上命令来判断系统当前负载是否已经达到极限了呢?为此笔者总结了一下如何通过load

    2022年7月1日
    22
  • poe交换机供电原理图_poe供电原理详解

    poe交换机供电原理图_poe供电原理详解POE指的是在现有的以太网Cat.5布线基础架构不作任何改动的情况下,在为一些基于IP的终端(如IP电话机、无线局域网接入点AP、网络摄像机等)传输数据信号的同时,还能为此类设备提供直流电的技术.就是支持以太网供电的交换机。那么,POE交换机的供电原理及工作过程是什么呢?接下来我们就跟随飞畅科技的小编一起来详细了解下吧!POE交换机供电原理标准的五类网线有四对双绞线,但是在10MBASE-T和100MBASE-T中只用到其中的两对。IEEE802.3af允许两种用法,应用空闲脚供电时,4、5脚连

    2022年9月27日
    3
  • lcd像素点密度_常见液晶显示分辨率对应像素密度[通俗易懂]

    lcd像素点密度_常见液晶显示分辨率对应像素密度[通俗易懂]液晶屏尺寸主流屏幕分辨率屏幕像素密度(PPI)产品类型800×4803英寸:3113.5英寸:2664英寸:233960×6403.5英寸:3294英寸:2884.3英寸:2681280×7204.3英寸:3414.7英寸:3125英寸:2931920×10805英寸:4407英寸:3142048x1080_2K6英寸:3857英寸:3301280×8007英寸:2158英寸…

    2022年6月12日
    127

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号