使用Mybatis映射时间 DateTime ==> LocalDateTime

首先查看,数据库字段:

书写映射实体类对象VO:

java 复制代码
@Data
public class OrderListVO implements Serializable {
    private Integer orderId;
    private String memberName;
    private String orderNumber;
    private BigDecimal orderPrice;
    private String logisticsNo;
    private String status;
    private LocalDateTime createTime;
    private LocalDateTime sendTime;
}

编写sql语句:

java 复制代码
  <select id="select" resultMap="orderPageList" parameterType="net.wanho.qz112.shop.order.dto.OrderListDTO">
        SELECT sod.order_id orderId, sm.username memberName,
        sod.order_number orderNumber,
        sod.order_price orderPrice,
        sod.is_send isSend,
        sod.logistics_no logisticsNo,
        sod.`status`,
        sod.create_time createTime,
        sod.send_time sendTime
        FROM `sp_order` sod
        LEFT JOIN sp_member sm on sod.member_id = sm.id
        where sm.is_deleted = 0
        <if test="orderNumber!=null and orderNumber!=''">
            and order_number=#{orderNumber}
        </if>
        <if test="username!=null and username!=''">
            and username=#{memberName}
        </if>
        <if test="isSend!=null and isSend!=''">
            and is_send=#{isSend}
        </if>
        <if test="status!=null">
            and status=#{status}
        </if>
        <if test="beginTime!=null and endTime!=null">
            and create_time BETWEEN #{beginTime} AND #{endTime}
        </if>
    </select>

编写映射Map:

java 复制代码
    <resultMap id="orderPageList" type="net.wanho.qz112.shop.order.vo.OrderListVO">
        <id column="orderId" property="orderId"/>
        <result column="memberName" property="memberName"/>
        <result column="orderNumber" property="orderNumber"/>
        <result column="orderPrice" property="orderPrice"/>
        <result column="isSend" property="isSend"/>
        <result column="logisticsNo" property="logisticsNo"/>
        <result column="status" property="status"/>
        <result column="createTime" property="createTime"/>
        <result column="sendTime" property="sendTime"/>
    </resultMap>

mapper接口:

java 复制代码
    List<OrderListVO> select(OrderListDTO orderListDTO);

service:接口

java 复制代码
    Map<String, Object> findOrder(Integer pageNum, Integer pageSize, OrderListDTO order);

映射完成后,通过serviceImpl调用:

java 复制代码
    public Map<String, Object> findOrder(Integer pageNum, Integer pageSize, OrderListDTO order) {
        PageHelper.startPage(pageNum,pageSize);
        List<OrderListVO> list = orderMapper.select(order);
        Map<String,Object> map = new HashMap<>(3);
        PageInfo pageInfo = new PageInfo(list);
        map.put("total",pageInfo.getTotal());
        map.put("pageNum", pageInfo.getPageNum());
        map.put("orders", pageInfo.getList());
        return map;
    }

controller:

java 复制代码
    @Resource
    private OrderService orderService;

   @GetMapping("/orders")
    public AjaxResult findPage(Integer pageNum, Integer pageSize, OrderListDTO order) {
        Map<String,Object> map = orderService.findOrder(pageNum,pageSize,order);
        return AjaxResult.success("获取订单列表成功!",map);
    }

实现图片:

此处有弊端,请移步下一篇......

使用LocalDateTime不能映射空值?

相关推荐
金仓拾光集1 小时前
筑牢风控生命线:金仓数据库替代MongoDB,重构证券融资融券业务的数据基石
数据库·mongodb·信创·1024程序员节·kingbasees·国产化替代
那我掉的头发算什么1 小时前
【数据库】navicat的下载以及数据库约束
android·数据库·数据仓库·sql·mysql·数据库开发·数据库架构
纪伊路上盛名在2 小时前
如何批量获取蛋白质序列的所有结构域(domain)数据-2
数据库·人工智能·机器学习·统计·计算生物学·蛋白质
2301_772093563 小时前
高并发webserver_interview
运维·服务器·数据库·后端·网络协议·mysql·wireshark
大G的笔记本4 小时前
MySQL 大表查询优化、超大分页处理、SQL 慢查询优化、主键选择
数据库·sql·mysql
Lear5 小时前
Redis 持久化机制
数据库
儒道易行5 小时前
【攻防实战】Redis未授权RCE联动metasploit打穿三层内网(上)
数据库·redis·网络安全·缓存
小宁爱Python5 小时前
从零搭建 RAG 智能问答系统 6:Text2SQL 与工作流实现数据库查询
数据库·人工智能·python·django
yjsstar5 小时前
数据库MySQL基础
数据库·mysql
云边有个稻草人5 小时前
KingbaseES数据库性能调优指南:从理论到实践的全链路解析
数据库·金仓数据库