MySQL在xml文件中处理大于号小于号

一, 用转义字符替换 > 和 <。

SELECT * FROM commodity  

                 WHERE 1 = 1 

                 AND createdBy  < = commodity.createdBy  

                 AND updated  >= commodity.updated;


                     <                                 

                     <

                     小于号                                           

                     >

                     >                                      

                     大于号

                     &

                     &

                     和

                     '

                     ’

                     单引号

                     "

                     "

                     双引号

二,  

xml格式的不允许出现类似“>”这样的字符,可以使用 < ![ CDATA[     ] ] >  符号进行说明, 
写成如下: SupplierCommodityMapper.xml



< select  id ="findSimple"  resultType ="so.sao.shop.supplier.pojo.vo.SuppCommSearchVo">
SELECT
< include  refid ="searchColumns"/>
FROM
supplier_commodity sc 
INNER JOIN ( commodity c 
LEFT JOIN comm_brand cb on c.brand_id = cb.id )  on sc.code69 = c.code69
LEFT JOIN comm_measure_spec cms on sc.measure_spec_id = cms.id 
LEFT JOIN comm_unit cu on sc.unit_id = cu.id
WHERE sc.deleted = 0
AND sc.supplier_id = #{supplierId}
< if  test ="@so.sao.shop.supplier.util.Ognl@isNotEmpty(inputvalue)">
AND (sc.code69 = #{inputvalue} OR c.name LIKE CONCAT ('%',#{inputvalue},'%'))
if>
< if  test ="@so.sao.shop.supplier.util.Ognl@isNotEmpty(beginCreateAt) and @so.sao.shop.supplier.util.Ognl@isEmpty(endCreateAt)">
AND Date(sc.created_at)= #{beginCreateAt}]]>
if>
< if  test ="@so.sao.shop.supplier.util.Ognl@isNotEmpty(endCreateAt) and @so.sao.shop.supplier.util.Ognl@isEmpty(beginCreateAt)">
AND Date(sc.created_at)
if>
< if  test ="@so.sao.shop.supplier.util.Ognl@isNotEmpty(beginCreateAt) and @so.sao.shop.supplier.util.Ognl@isNotEmpty(endCreateAt)">
AND Date(sc.created_at) BETWEEN #{beginCreateAt} AND #{endCreateAt}
if>
ORDER BY sc.updated_at DESC
select > 

你可能感兴趣的:(数据库)