淘淘商城系列——导入商品数据到索引库——dao层
来源:互联网 发布:政务系统源码 编辑:程序博客网 时间:2024/06/05 16:29
我们先来看看我们要导入数据的sql语句并且查看查询结果。
从上图可知我们需要从tb_item、tb_item_cat,、tb_item_desc三张表中查询数据。针对来自三张表的数据,我们最好使用一个pojo来接收这些数据,而且这个pojo还会作为查询结果的载体。因为服务层和表现层都会用到这个pojo,我们最好把它放到taotao-common工程的com.taotao.common.pojo包下。我们新建一个SearchItem类(记得该类要实现序列化,因为要进行网络传输),如下图所示。
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方法,如下图所示。
接下来我们把taotao-manager-dao工程下的某个mapper.xml文件拷贝一份到com.taotao.search.mapper包下并重命名为ItemMapper.xml,留下头部,<mapper></mapper>
标签中其余的东西都删掉,并在mapper中定义一个sql语句,id为ItemMapper接口中方法的名字,resultType是我们定义的pojo类的全类名。
为了方便大家复制,现将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层代码编写完毕!
- 淘淘商城系列——导入商品数据到索引库——dao层
- 淘淘商城系列——导入商品数据到索引库——Service层
- 淘淘商城系列——导入商品数据到索引库
- 学习淘淘商城第四十课(导入商品数据到索引库-dao层)
- 淘淘商城系列——商品搜索功能Dao实现
- 淘淘商城系列——添加商品同步到索引库以及消息机制测试
- 淘淘商城系列——商品搜索功能表现层实现
- 淘淘商城系列——SSM框架整合之Dao层整合
- 淘淘商城系列——使用SolrJ查询索引库
- 淘淘商城系列——商品类目选择的实现
- 淘淘商城系列——实现添加商品功能
- 淘淘商城系列——商品搜索功能Service实现
- 淘淘商城系列——商品搜索功能测试
- 淘淘商城系列——实现商品详情页面展示
- 淘淘商城系列——展示购物车商品列表
- 淘淘商城系列——修改购物车商品数量
- 淘淘商城系列——首页跳转到搜索页面
- 淘淘商城系列——搜索功能切换到集群
- 【计网实验】rip协议配置
- 跟我一起写 Makefile(十四)
- 博客内容进度插件的实现
- solr <一>用 Java客户端 建索引+分页查询
- jenkins 构建嵌套项目
- 淘淘商城系列——导入商品数据到索引库——dao层
- 嵌套if
- 正则表达式与 Linux shell 中的通配符(wildcard)
- linux 最常用编辑器 —— vim 基本操作
- HTTP学习目录
- thread的状态
- switch-case
- DOM范围
- visual c++开发环境相关报错记录