wordpress两个站点,html可视化编辑器,做网站首页看不到图片,做漫画网站一、typeHandler 的使用 1、存储json格式字段 如果字段需要存储为json格式#xff0c;可以使用JacksonTypeHandler处理器。使用方式非常简单#xff0c;如下所示#xff1a; 在domain实体类里面要加上#xff0c;两个注解 TableName(autoResultMap true) 表示自动…一、typeHandler 的使用 1、存储json格式字段 如果字段需要存储为json格式可以使用JacksonTypeHandler处理器。使用方式非常简单如下所示 在domain实体类里面要加上两个注解 TableName(autoResultMap true) 表示自动映射resultMap TableField(typeHandler JacksonTypeHandler.class)表示将UserInfo对象转为json对象入库 /*** 物料分类*/TableField(typeHandler SupplierMaterialCategoryTypeHandler.class)private ListMaterialCategory materialCategory; 2、自定义 typeHandler 实现类 例如当我们 某个字段存储的类型为List或者Map时我们可以自定义一个TypeHandler以 list 为例我们想存储一个字段类型为 list ,在数据库中的存储的格式是 多条数据以逗号分割当查询时会自动根据逗号分割成列表格式。 需要实现BaseTypeHandler抽象类
package com.mdgyl.hussar.basic.handler;import com.mdgyl.common.util.vo.ChangeInfoVO;
import com.mdgyl.data.mybatis.plus.typehandler.ListTypeHandler;
import com.mdgyl.hussar.basic.supplier.masterdata.domain.SupplierDO;/*** author shuquanlin*/
public class SupplierMaterialCategoryTypeHandler extends ListTypeHandlerSupplierDO.MaterialCategory {Overrideprotected SupplierDO.MaterialCategory specificType() {return new SupplierDO.MaterialCategory();}
}在mybaits中的xml文件中
?xml version1.0 encodingUTF-8?
!DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd
mapper namespacecom.mdgyl.hussar.basic.supplier.changeorder.dao.ChangeOrderMapperresultMap idBaseResultMap typecom.mdgyl.hussar.basic.supplier.changeorder.domain.SupplierChangeOrderDoid columnid propertyid jdbcTypeBIGINT /result columntenant_id propertytenantId jdbcTypeBIGINT /result columnsupplier_id propertysupplierId jdbcTypeBIGINT /result columncode propertycode jdbcTypeBIGINT /result columnels_account propertyelsAccount jdbcTypeVARCHAR /result columnname propertyname jdbcTypeVARCHAR /result columnexternal_code propertyexternalCode jdbcTypeVARCHAR /result columnmaterial_category propertymaterialCategory typeHandlercom.mdgyl.hussar.basic.handler.ChangeOrderMaterialCategoryTypeHandler /result columnstatus propertystatus jdbcTypeVARCHAR /result columnaudit_status propertyauditStatus jdbcTypeVARCHAR /result columnsource_scene propertysourceScene jdbcTypeVARCHAR /result columnscore propertyscore jdbcTypeDECIMAL /result columncontact_information propertycontactInformation jdbcTypeVARCHAR /result columninquiry_type propertyinquiryType jdbcTypeVARCHAR /result columnroute propertyroute jdbcTypeVARCHAR /result columntransaction_currency propertytransactionCurrency jdbcTypeVARCHAR /result columnpayment_currency propertypaymentCurrency jdbcTypeVARCHAR /result columnpayment_condition propertypaymentCondition jdbcTypeVARCHAR /result columnopen_account_condition propertyopenAccountCondition jdbcTypeVARCHAR /result columnoperating_start_time propertyoperatingStartTime jdbcTypeDATE /result columntaxpayer_identity_number propertytaxpayerIdentityNumber jdbcTypeVARCHAR /result columnunified_social_credit_code propertyunifiedSocialCreditCode jdbcTypeVARCHAR /result columnbelong_company_id propertybelongCompanyId jdbcTypeBIGINT /result columnpurchaser_head_id propertypurchaserHeadId jdbcTypeBIGINT /result columncreate_user_id propertycreateUserId jdbcTypeBIGINT /result columncreate_user_name propertycreateUserName jdbcTypeVARCHAR /result columnupdate_user_id propertyupdateUserId jdbcTypeBIGINT /result columnupdate_user_name propertyupdateUserName jdbcTypeVARCHAR /result columnupdate_time propertyupdateTime jdbcTypeTIMESTAMP /result columncreate_time propertycreateTime jdbcTypeTIMESTAMP /result columndelete_flag propertydeleteFlag jdbcTypeVARCHAR /result columnlegal_representative propertylegalRepresentative jdbcTypeVARCHAR /result columnsupplier_data_id propertysupplierDataId jdbcTypeBIGINT //resultMapselect idgroupByStatus parameterTypecom.mdgyl.hussar.basic.param.changeOrder.SupplierChangeOrderPageQueryParam resultTypecom.mdgyl.hussar.basic.model.common.StatusGroupModelSELECT status AS status,count(id) AS countFROM t_supplier_change_orderWHERE tenant_id #{tenantId} AND delete_flag 0if testcode ! null and code ! AND code #{code}/ifif testelsAccount ! null and elsAccount ! AND els_account #{elsAccount}/ifif testname ! null and name ! AND name #{name}/ifif testsupplierId ! null and supplierId ! AND supplier_id #{supplierId}/ifGROUP BY status/select
/mapper如果要查找json中的字段可以在domain类里面加上虚拟字段
TableField(exist false)public static final String materialCategoryUserIdQuery JSON_CONTAINS(material_category, JSON_OBJECT(materialCategoryUserId, {0})); 在xml文件中加上 if testname ! null and name ! AND JSON_CONTAINS(material_category, JSON_OBJECT(materialCategoryName, #{name}))/if