<selectid="selectType1GjInfo"resultType="com.alibaba.fastjson.JSONObject"> select ( select count(*) from device,onu_device where device.`id` = onu_device.`id` and device.`sts` = 30 and onu_device.`gf_id` = #{resId} ) as ontSum, ( select count(*) from w_resasgn_serv_res_info as w where w.`gf_id` = #{resId} ) as userSum </select>
1 2 3 4 5 6 7 8
<selectid="queryUserList"resultType="com.alibaba.fastjson.JSONObject"> select `USER_ACC_NBR` as userAccNbr ,`DEVICE_ID` as deviceId ,`DEVICE_NAME` as deviceName ,`OLT_NAME` as oltName , `OLT_IP_NAME` as oltIp ,`PON_PORT_NAME` as ponPortName, `OBD_NAME` as obdName ,`OBD_CONNECTOR_NAME` as obdConnectorName ,`OBD_CONNECTOR_CODEINGROUP` as obdConnectorCodeInGroup ,`GF_NAME` as gfName ,`GF_CONNECTOR_NAME` as gfConnectorName from w_resasgn_serv_res_info where 1=1 <iftest="oltId != null and oltId != ''"> and `OLT_ID` = #{oltId}</if> <iftest="ponPortId != null and ponPortId != ''"> and `PON_PORT_ID` = #{ponPortId}</if> </select>
常用方法总结
1. get与getString与(String) get
在 Alibaba fastjson 中,get、getString 和 (String) get 方法是用于获取 JSON 对象中某个属性值的方法。它们之间的区别如下:
get 方法:get 方法是 fastjson 中最基本的获取属性值的方法。它返回一个 Object 类型的值,你需要根据实际情况进行类型转换。如果属性值是字符串类型,你可以使用 toString() 方法将其转换为字符串。
getString 方法:getString 方法是 get 方法的一种特殊情况。它只能用于获取属性值为字符串类型的情况。如果属性值不是字符串类型,getString 方法会返回 null。使用 getString 方法可以省去你手动进行类型转换的步骤,更加简便。
(String) get 方法:这是通过将 get 方法的返回值强制转换为 String 类型来获取属性值的方法。它假设你已经确定属性值是字符串类型,如果实际属性值类型不是字符串,将会抛出 ClassCastException 异常。因此,在使用该方法时必须确保属性值的类型是字符串,否则可能会导致程序运行时的错误。