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


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

    我们先来看看我们要导入数据的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层代码编写完毕!

  • 相关阅读:
    Uva 11205 The broken pedometer
    Uva 331 Mapping the Swaps
    vs2005里取得offsetHeight,clientHeight,scrollHeight 三个属性值全都一样的问题
    网页根据自身高度动态调整所在iframe的高度
    一个简单的实现tab效果的demo
    iframe根据被嵌网页高度动态调整自身高度
    用window.open方法打开新窗口显示提示信息
    用C#在ASP.NET 2.0 的 TreeView 中查找某一节点
    解决 sharepoint 站点除了administrator 其他用户不能登陆的问题
    Python处理Excel,学会这十四个方法,工作量减少大半!
  • 原文地址:https://www.cnblogs.com/telwanggs/p/6961878.html
Copyright © 2020-2023  润新知