(转)淘淘商城系列——导入商品数据到索引库——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层代码编写完毕!

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • HTTP常见端口_8443端口

    HTTP常见端口_8443端口常见端口地点HTTP服务器,默认的端口号为80/tcp(木马Executor开放此端口);HTTPS(securelytransferringwebpages)服务器,默认的端口号为443/tcp443/udp;Telnet(不安全的文本传送),默认端口号为23/tcp(木马TinyTelnetServer所开放的端口);FTP,默认的端口号为21/tcp(木马DolyTro…

  • C语言银行家算法

    C语言银行家算法算法简介银行家算法(Banker’sAlgorithm)是一个避免死锁(Deadlock)的著名算法,是由艾兹格·迪杰斯特拉在1965年为T.H.E系统设计的一种避免死锁产生的算法。它以银行借贷系统的分配策略为基础,判断并保证系统的安全运行。算法目的为了了解系统的资源分配情况,假定系统的任何一种资源在任意时刻只能被一个进程使用,任何进程已经占用的资源只能由进程自己释放,而不能由其他进…

  • python开发h5页面_python读取excel

    python开发h5页面_python读取excel广告关闭腾讯云11.11云上盛惠,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元!腾讯云api全新升级3.0,该版本进行了性能优化且全地域部署、支持就近和按地域接入、访问时延下降显著,接口描述更加详细、错误码描述更加全面、sdk增加接口级注释,让您更加方便快捷的使用腾讯云产品。这里针对pythonapi调用方式进行简单说明。现已支持云服务器(cv…

  • 记一次线上服务器宕机 springboot tomcat

    记一次线上服务器宕机 springboot tomcat记一次线上服务器宕机springboottomcat今天点网站发现请求不了了,到服务器查看,发现tomcat死了。查看log发现但是项目本地跑,没发现问题。查看了一下项目,怀疑是定时任务占用线程池满导致内存泄漏具体看一下定时任务中有没有暂时重启服务器让服务跑通…

  • Linux 操作系统原理 — 操作系统的本质「建议收藏」

    Linux 操作系统原理 — 操作系统的本质「建议收藏」目录文章目录目录操作系统的起源操作系统和高级编程语言使硬件抽象化操作系统的起源在操作系统尚不存在的年代,人们通过各种按钮来控制计算机,这一过程非常麻烦。于是,有人开发出了仅仅具有加载和运行功能的监控程序(Supervisor),这就是操作系统的原型。通过监控程序,程序员可以根据需要将各种应用程序加载到内存中运行。虽然仍旧比较麻烦,但现在开发的工作量得到了很大的缓解。随着时代的发展,人们…

    2022年10月29日
  • vscode 快速新建一个HTML文件

    现在工作中很少会去重新写一个html文件,以致很多简单有效的快捷键都不太会用,写个笔记供以后参考,如有不对,请指正…1.在代码编辑器(vscode,pycharm,phpstorm)中新建一个xxx.html文件下面以vscode为示例:2.英文模式下输入:!后按tab键//这样一个简易的html文件就写完了想要快速打开HTML文件查看编辑效果1.点击编辑器主界面…

发表回复

您的电子邮箱地址不会被公开。

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