zoukankan      html  css  js  c++  java
  • 0426_mysql?jq?json

    为了便于业务拓展,比如说,现在的平台是一个卖车险,卖车票,卖流量。。各种都卖的商城,所以,有些业务就很重复,比如,过程都是客户在平台上提交个人信息和需求,形成一个初始的订单,然后后台再处理这个订单,然后再确认。。。基于此,有人提出建一个公共订单表,包含这些业务订单的公共字段(类型,状态,销售价,订单号),还设有一个json字段,专门处理不同订单的特有内容。这个又要说到mysql去年的更新了,去年,mysql开始支持json字段的使用。这很符合我们现有的开发场景,所以这次做车险就都改用这种思路。以下,是我注意到的几个点:
    1.更新tomcat下的mysql-connector-java-5.1.40.jar
    tomcat的安装路径-->lib 替换更新
    2 查询语句的细微区别
    c.order_content->'$.mobile' 访问json 列里面的value
    3 与jq结合,去掉查询结果的双引号

    	*
    FROM
    	(
    		SELECT
    			c.id id,
    			c.order_no order_no,
    			c.order_content ->> '$.ownerName' car_owner_name,
    			c.order_content ->> '$.plateNo' vehicle_no,
    			c.order_content ->> '$.mobile' mobile,
    			c.order_status order_status,
    			c.sale_price sale_price,
    			c.cost_price cost_price,
    			c.create_time create_time,
    			c.order_content ->> '$.isSendSupplier' is_send_supplier
    		FROM
    			common_order_info c
    		WHERE
    			1 = 1
    	) temp_order
    ORDER BY
    	create_time DESC
    LIMIT 20```
    最开始的时候,其实用的是table.json字段名->'$key'来查询value 值,后来发现json_extract(c.order_content, '$.ownerName')同样可以,但是查询结果,如果是字符串的话就会带双引号!!!
    结果如下:
    ![search](http://images.cnblogs.com/cnblogs_com/missYuLan/991726/o_233.png)
    对的,->>比->少显示了一个双引号,查询结果就正常显示了,但是,如果你放到jq 里面结合使用,就会发现,出现乱码了。。。。。。。。。。。。。。。。。。。。。
    而且我特意在impl层里面去查看了list的查询结果,发现debugger里面居然相关字段是空的!真像灵异事件。。。。。。。
    事实的确是这样:
    ![webResult](http://images.cnblogs.com/cnblogs_com/missYuLan/991726/o_322.png)
    醉了,起先我的解决方法是,在js里面写formatter方法,用replace方法把“干掉,,这种搞法的确很low
    后来机智的同事帮我找出解决方法:
    用**`cast(c.order_content->>'$.ownerName' as char)car_owner_name`**
    由此可以得出,变通是多么重要,很多东西,不是你不会,而是想不到,用不上。。泪目。。
  • 相关阅读:
    Mac 上所有的命令行相关问题的总结
    ThinkPHP中的统计查询方法
    织梦任意页面调用{dede:field.content/}的方法
    PHP isset()、empty()、is_null()的使用区别详解
    Dede更新提示DedeTag Engine Create File False的解决办法
    cookie 和session 的区别
    织梦后台如何设置手机站
    PHP时间戳和日期转换
    dede列表页调用
    dede图集内容页调用
  • 原文地址:https://www.cnblogs.com/missYuLan/p/6768893.html
Copyright © 2011-2022 走看看