提交 606b4451 编写于 作者: sq3536's avatar sq3536

move

上级 25c1f1f0
...@@ -67,13 +67,15 @@ public class DataSetModel extends BaseModel{ ...@@ -67,13 +67,15 @@ public class DataSetModel extends BaseModel{
} }
private String select=""; private String select=null;
private String from=""; private String from=null;
private String groupBy=""; private String where=null;
private String orderBy=""; private String groupBy=null;
private String orderBy=null;
private List<String> queries; private List<String> queries;
......
...@@ -15,6 +15,7 @@ import net.ibizsys.model.dataentity.defield.IPSLinkDEField; ...@@ -15,6 +15,7 @@ import net.ibizsys.model.dataentity.defield.IPSLinkDEField;
import net.ibizsys.model.dataentity.der.IPSDER1N; import net.ibizsys.model.dataentity.der.IPSDER1N;
import net.ibizsys.model.dataentity.der.IPSDERBase; import net.ibizsys.model.dataentity.der.IPSDERBase;
import net.ibizsys.model.dataentity.der.IPSDERInherit; import net.ibizsys.model.dataentity.der.IPSDERInherit;
import net.ibizsys.model.dataentity.ds.IPSDEDataQueryCodeCond;
import net.ibizsys.model.dataentity.ds.IPSDEDataSetGroupParam; import net.ibizsys.model.dataentity.ds.IPSDEDataSetGroupParam;
import net.ibizsys.model.dataentity.ds.PSDEDataSetGroupParamImpl; import net.ibizsys.model.dataentity.ds.PSDEDataSetGroupParamImpl;
import org.springframework.util.Assert; import org.springframework.util.Assert;
...@@ -71,16 +72,34 @@ public class EntityModel extends BaseModel { ...@@ -71,16 +72,34 @@ public class EntityModel extends BaseModel {
return this; return this;
} }
private List<DataSetModel> dataQueries; private Map<String,DataSetModel> dataQueries;
public EntityModel addDataQueries(DataSetModel dataSet) public EntityModel addDataQueries(DataSetModel dataSet)
{ {
if(dataQueries==null) if(dataQueries==null)
dataQueries=new ArrayList<>(); dataQueries=new LinkedHashMap<>();
dataQueries.add(dataSet); dataQueries.put(dataSet.codeName,dataSet);
return this; return this;
} }
public DataSetModel getViewDataQuery()
{
if(dataQueries!=null)
{
return dataQueries.get("View");
}
return null;
}
public DataSetModel getDefaultDataQuery()
{
if(dataQueries!=null)
{
return dataQueries.get(getDataEntity().getDefaultPSDEDataSet().getCodeName());
}
return null;
}
private List<DataSetModel> dataSets; private List<DataSetModel> dataSets;
public EntityModel addDataSet(DataSetModel dataSet) public EntityModel addDataSet(DataSetModel dataSet)
...@@ -90,6 +109,7 @@ public class EntityModel extends BaseModel { ...@@ -90,6 +109,7 @@ public class EntityModel extends BaseModel {
dataSets.add(dataSet); dataSets.add(dataSet);
return this; return this;
} }
private List<FieldModel> fields; private List<FieldModel> fields;
...@@ -382,6 +402,11 @@ public class EntityModel extends BaseModel { ...@@ -382,6 +402,11 @@ public class EntityModel extends BaseModel {
return false; return false;
} }
public boolean isEnableES()
{
return "elasticsearch".equalsIgnoreCase(this.getDataEntity().getUserTag());
}
public boolean isLogicInherit() public boolean isLogicInherit()
{ {
if(this.getDataEntity().getMinorPSDERs()==null) if(this.getDataEntity().getMinorPSDERs()==null)
...@@ -624,15 +649,32 @@ public class EntityModel extends BaseModel { ...@@ -624,15 +649,32 @@ public class EntityModel extends BaseModel {
if(dataQuery.getAllPSDEDataQueryCodes()!=null) if(dataQuery.getAllPSDEDataQueryCodes()!=null)
{ {
dataQuery.getAllPSDEDataQueryCodes().forEach(dq->{ dataQuery.getAllPSDEDataQueryCodes().forEach(dq->{
String select=TransUtils.contextParamConvert(dq.getQueryCode());
String where=null;
if(dq.getPSDEDataQueryCodeConds()!=null)
{
int i=0;
boolean b=TransUtils.checkIgnoreNullvalueCond(dq.getPSDEDataQueryCodeConds());
for(IPSDEDataQueryCodeCond cond:dq.getPSDEDataQueryCodeConds())
{
if(i==0)
where=" where ";
else if(i>0)
where=where.concat(" and ");
String code=TransUtils.getQueryCode(dq); where=where.concat(b?TransUtils.checkNullContextParamConvert(cond.getCustomCond()):TransUtils.contextParamConvert(cond.getCustomCond()));
i++;
}
}
DataSetModel dsModel=new DataSetModel(); DataSetModel dsModel=new DataSetModel();
dsModel.setEntity(this); dsModel.setEntity(this);
dsModel.setName(dataQuery.getName()); dsModel.setName(dataQuery.getName());
dsModel.setDatasetId(this.getEntityName().toLowerCase()+"-dq-"+dataQuery.getCodeName()+"-"+dq.getDBType().toLowerCase().replace("mysql5","mysql")) dsModel.setDatasetId(this.getEntityName().toLowerCase()+"-dq-"+dataQuery.getCodeName()+"-"+dq.getDBType().toLowerCase().replace("mysql5","mysql"))
.setDsType(dq.getDBType().toLowerCase().replace("mysql5","mysql"))
.setDatasetName(dataQuery.getLogicName()).setCodeName(dataQuery.getCodeName()) .setDatasetName(dataQuery.getLogicName()).setCodeName(dataQuery.getCodeName())
.setDsCode(code); .setSelect(select).setWhere(where)
.setDsCode(select.concat(where==null?"":where));
this.addQueries(dsModel); this.addQueries(dsModel);
this.addDataQueries(dsModel); this.addDataQueries(dsModel);
...@@ -653,6 +695,8 @@ public class EntityModel extends BaseModel { ...@@ -653,6 +695,8 @@ public class EntityModel extends BaseModel {
String from=" from ( %s ) t1 "; String from=" from ( %s ) t1 ";
String where=null;
String groupBy=null; String groupBy=null;
String orderBy=null; String orderBy=null;
...@@ -769,7 +813,7 @@ public class EntityModel extends BaseModel { ...@@ -769,7 +813,7 @@ public class EntityModel extends BaseModel {
} }
} }
String sqlFormat=select.concat(from).concat(groupBy==null?"":groupBy).concat(orderBy==null?"":orderBy); String sqlFormat=select.concat(from).concat(where==null?"":where).concat(groupBy==null?"":groupBy).concat(orderBy==null?"":orderBy);
DataSetModel dqModel=new DataSetModel(this,dataSet); DataSetModel dqModel=new DataSetModel(this,dataSet);
dqModel.setDatasetId(this.getEntityName().toLowerCase()+"-ds-"+dataSet.getCodeName()+"-"+entry.getKey().toLowerCase().replace("mysql5","mysql")) dqModel.setDatasetId(this.getEntityName().toLowerCase()+"-ds-"+dataSet.getCodeName()+"-"+entry.getKey().toLowerCase().replace("mysql5","mysql"))
.setDsType(entry.getKey().toLowerCase().replace("mysql5","mysql")) .setDsType(entry.getKey().toLowerCase().replace("mysql5","mysql"))
......
...@@ -45,6 +45,11 @@ public class FieldModel extends BaseModel { ...@@ -45,6 +45,11 @@ public class FieldModel extends BaseModel {
return getFieldName().toLowerCase(); return getFieldName().toLowerCase();
} }
public String getAlias() {
String alias=this.getCodeName().toCamelCase();
return getColumnName().equalsIgnoreCase(alias)&&(!"PICKUP".equals(getDataEntityField().getDataType()))?null:alias;
}
public String getJsonName() { public String getJsonName() {
return getDataEntityField().getCodeName().toLowerCase(); return getDataEntityField().getCodeName().toLowerCase();
} }
......
...@@ -26,7 +26,7 @@ public class TransUtils { ...@@ -26,7 +26,7 @@ public class TransUtils {
private static String contextParamConvert(String contextParam) public static String contextParamConvert(String contextParam)
{ {
String resultParam=getJavaSqlCode(contextParam).replaceAll("(IN|in) \\(\\$\\{srf(datacontext|sessioncontext|webcontext)\\('(\\w+)','(.*?)'\\)}\\)","$1 (\\${srf.$2.$3})"); String resultParam=getJavaSqlCode(contextParam).replaceAll("(IN|in) \\(\\$\\{srf(datacontext|sessioncontext|webcontext)\\('(\\w+)','(.*?)'\\)}\\)","$1 (\\${srf.$2.$3})");
resultParam=resultParam.replaceAll("\\$\\{srf(datacontext|sessioncontext|webcontext)\\('(\\w+)','(.*?)'\\)}","#{srf.$1.$2}"); resultParam=resultParam.replaceAll("\\$\\{srf(datacontext|sessioncontext|webcontext)\\('(\\w+)','(.*?)'\\)}","#{srf.$1.$2}");
...@@ -81,14 +81,14 @@ public class TransUtils { ...@@ -81,14 +81,14 @@ public class TransUtils {
} }
private static String checkNullContextParamConvert(String contextParam) { public static String checkNullContextParamConvert(String contextParam) {
String resultParam = getJavaSqlCode(contextParam).replaceAll("<#assign _value=srf(datacontext|sessioncontext|webcontext)\\('(\\w+)','(.*?)'\\)><#if _value\\?length gt 0>(.*?)\\(\\$\\{_value}\\)<#else>1=1</#if>"," ('${srf.$1.$2}'=null or '${srf.$1.$2}'='' or $4 \\${srf.$1.$2} "); String resultParam = getJavaSqlCode(contextParam).replaceAll("<#assign _value=srf(datacontext|sessioncontext|webcontext)\\('(\\w+)','(.*?)'\\)><#if _value\\?length gt 0>(.*?)\\(\\$\\{_value}\\)<#else>1=1</#if>"," ('${srf.$1.$2}'=null or '${srf.$1.$2}'='' or $4 \\${srf.$1.$2} ");
resultParam = resultParam.replaceAll("<#assign _value=srf(datacontext|sessioncontext|webcontext)\\('(\\w+)','(.*?)'\\)><#if _value\\?length gt 0>(.*?)\\$\\{_value}(.*?)?<#else>1=1</#if>", " (#{srf.$1.$2}=null or #{srf.$1.$2}='' or $4#{srf.$1.$2}$5)"); resultParam = resultParam.replaceAll("<#assign _value=srf(datacontext|sessioncontext|webcontext)\\('(\\w+)','(.*?)'\\)><#if _value\\?length gt 0>(.*?)\\$\\{_value}(.*?)?<#else>1=1</#if>", " (#{srf.$1.$2}=null or #{srf.$1.$2}='' or $4#{srf.$1.$2}$5)");
resultParam=contextParamConvert(resultParam); resultParam=contextParamConvert(resultParam);
return resultParam; return resultParam;
} }
private static boolean checkIgnoreNullvalueCond(List<IPSDEDataQueryCodeCond> list) public static boolean checkIgnoreNullvalueCond(List<IPSDEDataQueryCodeCond> list)
{ {
if(list!=null) if(list!=null)
{ {
......
package {{packageName}}.core.{{module}}.filter;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.HashMap;
import lombok.*;
import lombok.extern.slf4j.Slf4j;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.fastjson.annotation.JSONField;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
{{#entity.enableES}}
import org.elasticsearch.index.query.QueryBuilders;
{{/entity.enableES}}
import {{packageName}}.util.filter.QueryWrapperContext;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import {{packageName}}.core.{{module}}.filte.{{entity.codeName}};
/**
* 关系型数据实体[{{entity.codeName}}] 查询条件对象
*/
@Slf4j
@Data
public class {{entity.codeName}}SearchContext extends QueryWrapperContext<{{entity.codeName}}> {
\ No newline at end of file
package {{packageName}}.{{module}}.mapper; package {{packageName}}.core.{{module}}.mapper;
import java.util.List; import java.util.List;
import org.apache.ibatis.annotations.*; import org.apache.ibatis.annotations.*;
...@@ -9,8 +9,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -9,8 +9,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import java.util.Map; import java.util.Map;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import {{packageName}}.{{module}}.domain.{{entity.codeName}}; import {{packageName}}.core.{{module}}.domain.{{entity.codeName}};
import {{packageName}}.{{module}}.filter.{{entity.codeName}}SearchContext; import {{packageName}}.core.{{module}}.filter.{{entity.codeName}}SearchContext;
import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable; import org.springframework.cache.annotation.Cacheable;
import java.io.Serializable; import java.io.Serializable;
...@@ -25,8 +25,8 @@ public interface {{entity.codeName}}Mapper extends BaseMapper<{{entity.codeName} ...@@ -25,8 +25,8 @@ public interface {{entity.codeName}}Mapper extends BaseMapper<{{entity.codeName}
{{#entity.dataSets}} {{#entity.dataSets}}
Page<{{entity.codeName}}> search{{codeName}}(IPage page, @Param("srf") {{entity.codeName}}SearchContext context, @Param("ew") Wrapper<{{entity.codeName}}> wrapper); Page<{{#if enableGroup}}Map{{else}}{{entity.codeName}}{{/if}}> search{{codeName.pascalCase}}(IPage page, @Param("srf") {{entity.codeName}}SearchContext context, @Param("ew") Wrapper<{{entity.codeName}}> wrapper);
List<{{entity.codeName}}> list{{codeName}}(@Param("srf") {{entity.codeName}}SearchContext context, @Param("ew") Wrapper<{{entity.codeName}}> wrapper); List<{{#if enableGroup}}Map{{else}}{{entity.codeName}}{{/if}}> list{{codeName.pascalCase}}(@Param("srf") {{entity.codeName}}SearchContext context, @Param("ew") Wrapper<{{entity.codeName}}> wrapper);
{{/entity.dataSets}} {{/entity.dataSets}}
@Override @Override
...@@ -92,7 +92,7 @@ public interface {{entity.codeName}}Mapper extends BaseMapper<{{entity.codeName} ...@@ -92,7 +92,7 @@ public interface {{entity.codeName}}Mapper extends BaseMapper<{{entity.codeName}
boolean deleteBySQL(@Param("sql") String sql, @Param("et")Map param); boolean deleteBySQL(@Param("sql") String sql, @Param("et")Map param);
{{#entity.references}} {{#entity.references}}
List<{{entity.codeName}}> selectBy{{fkField.codeName.pascalCase}}(@Param("{{fkField.name.lowerCase}}") Serializable {{fkField.codeName.camelCase}}); List<{{entity.codeName}}> selectBy{{fkField.codeName.pascalCase}}(@Param("{{fkField.codeName.camelCase}}") Serializable {{fkField.codeName.camelCase}});
{{/entity.references}} {{/entity.references}}
} }
\ No newline at end of file
package {{packageName}}.{{entity.module}}.service; package {{packageName}}.core.{{module}}.service;
import java.io.Serializable; import java.io.Serializable;
import java.sql.Timestamp; import java.sql.Timestamp;
...@@ -18,8 +18,8 @@ import org.springframework.cache.annotation.CacheEvict; ...@@ -18,8 +18,8 @@ import org.springframework.cache.annotation.CacheEvict;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import om.baomidou.dynamic.datasource.annotation.DS; import om.baomidou.dynamic.datasource.annotation.DS;
import {{packageName}}.{{entity.module}}.domain.{{entity.codeName}}; import {{packageName}}.core.{{module}}.domain.{{entity.codeName}};
import {{packageName}}.{{entity.module}}.filter.{{entity.codeName}}SearchContext; import {{packageName}}.core.{{module}}.filter.{{entity.codeName}}SearchContext;
{{#dsName}} {{#dsName}}
@DS("{{entity.dataSource}}") @DS("{{entity.dataSource}}")
...@@ -64,8 +64,8 @@ public interface I{{entity.codeName}}Service extends IService<{{entity.codeName} ...@@ -64,8 +64,8 @@ public interface I{{entity.codeName}}Service extends IService<{{entity.codeName}
{{/each}} {{/each}}
{{#entity.dataSets}} {{#entity.dataSets}}
Page<{{entity.codeName}}> search{{codeName}}({{entity.codeName}}SearchContext context); Page<{{#if enableGroup}}Map{{else}}{{entity.codeName}}{{/if}}> search{{codeName}}({{entity.codeName}}SearchContext context);
List<{{entity.codeName}}> list{{codeName}}({{entity.codeName}}SearchContext context); List<{{#if enableGroup}}Map{{else}}{{entity.codeName}}{{/if}}> list{{codeName}}({{entity.codeName}}SearchContext context);
{{/entity.dataSets}} {{/entity.dataSets}}
{{#entity.references}} {{#entity.references}}
......
package {{packageName}}.core.{{entity.module}}.service.impl; package {{packageName}}.core.{{module}}.service.impl;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -27,10 +27,10 @@ import io.seata.spring.annotation.GlobalTransactional; ...@@ -27,10 +27,10 @@ import io.seata.spring.annotation.GlobalTransactional;
</system.enableGlobalTransaction> </system.enableGlobalTransaction>
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import {{packageName}}.core.{{entity.module}}.domain.{{entity.codeName}}; import {{packageName}}.core.{{module}}.domain.{{entity.codeName}};
import {{packageName}}.core.{{entity.module}}.filter.{{entity.codeName}}SearchContext; import {{packageName}}.core.{{module}}.filter.{{entity.codeName}}SearchContext;
import {{packageName}}.core.{{entity.module}}.service.I{{entity.codeName}}Service; import {{packageName}}.core.{{module}}.service.I{{entity.codeName}}Service;
import {{packageName}}.core.{{entity.module}}.mapper.${item.getCodeName()}Mapper; import {{packageName}}.core.{{module}}.mapper.${item.getCodeName()}Mapper;
import {{packageName}}.util.helper.CachedBeanCopier; import {{packageName}}.util.helper.CachedBeanCopier;
import {{packageName}}.util.helper.DEFieldCacheMap; import {{packageName}}.util.helper.DEFieldCacheMap;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
...@@ -82,23 +82,23 @@ public class {{entity.codeName}}ServiceImpl extends ServiceImpl<{{entity.codeNam ...@@ -82,23 +82,23 @@ public class {{entity.codeName}}ServiceImpl extends ServiceImpl<{{entity.codeNam
createIndexMajorEntityData(et); createIndexMajorEntityData(et);
{{/entity.isIndexSubDE}} {{/entity.isIndexSubDE}}
{{#if entity.isLogicInheritDE}} {{#if entity.isLogicInheritDE}}
if(!update(et, (Wrapper) et.getUpdateWrapper(true).eq("{{entity.keyfield.name.lowerCase}", et.get{{keyfield.codeName.pascalCase}}()))) if(!update(et, (Wrapper) et.getUpdateWrapper(true).eq("{{entity.keyField.name.lowerCase}}", et.get{{keyField.codeName.pascalCase}}())))
return false; return false;
{{/else}} {{else}}
if(!this.retBool(this.baseMapper.insert(et))) if(!this.retBool(this.baseMapper.insert(et)))
return false; return false;
{{/if}} {{/if}}
{{#each entity.nesteds}} {{#each entity.nesteds}}
{{#unless listCode}} {{#unless listCode}}
{{#unless columnName}} {{#unless columnName}}
{{camelCase entityCodeName}}service.saveBy{{codeName.pascalCase}}; {{camelCase entityCodeName}}Service.saveBy{{fkField.codeName.pascalCase}}(key,et.{{codeName.camelCase}});
{{/unless}} {{/unless}}
{{/unless}} {{/unless}}
{{/each}} {{/each}}
{{#entity.hasReferences}} {{#entity.hasReferences}}
${srfr7templcaseformat(MinorEntity.getCodeName())}Service.saveBy${srfr7templcaseformat(MajorDerField.codeName)?cap_first}(et.get${srfr7templcaseformat(keyfield.codeName)?cap_first}(), et.get${srfr7templcaseformat(listcode)?cap_first}());
{{/entity.hasReferences}} {{/entity.hasReferences}}
return true;
} }
{{#eq entity.actions.create.transactionMode "GLOBAL"}}@GlobalTransactional{{/eq}}{{#eq entity.actions.create.transactionMode "DEFAULT"}}@Transactional{{/eq}} {{#eq entity.actions.create.transactionMode "GLOBAL"}}@GlobalTransactional{{/eq}}{{#eq entity.actions.create.transactionMode "DEFAULT"}}@Transactional{{/eq}}
public boolean createBatch(List<{{entity.codeName}}> list) { public boolean createBatch(List<{{entity.codeName}}> list) {
...@@ -129,8 +129,8 @@ public class {{entity.codeName}}ServiceImpl extends ServiceImpl<{{entity.codeNam ...@@ -129,8 +129,8 @@ public class {{entity.codeName}}ServiceImpl extends ServiceImpl<{{entity.codeNam
{{/entity.actions}} {{/entity.actions}}
{{#entity.dataSets}} {{#entity.dataSets}}
Page<{{entity.codeName}}> search{{codeName}}({{entity.codeName}}SearchContext context); Page<{{#if enableGroup}}Map{{else}}{{entity.codeName}}{{/if}}> search{{codeName.pascalCase}}({{entity.codeName}}SearchContext context);
List<{{entity.codeName}}> list{{codeName}}({{entity.codeName}}SearchContext context); List<{{#if enableGroup}}Map{{else}}{{entity.codeName}}{{/if}}> list{{codeName.pascalCase}}({{entity.codeName}}SearchContext context);
{{/entity.dataSets}} {{/entity.dataSets}}
{{#entity.references}} {{#entity.references}}
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="{{packageName}}.{{module}}.mapper.{{entity.codeName}}Mapper"> <mapper namespace="{{packageName}}.core.{{module}}.mapper.{{entity.codeName}}Mapper">
<!--通过mybatis将查询结果注入到entity中,通过配置autoMapping="true"由mybatis自动处理映射关系 --> <!--通过mybatis将查询结果注入到entity中,通过配置autoMapping="true"由mybatis自动处理映射关系 -->
<resultMap id="${de.codeName}ResultMap" type="${pub.getPKGCodeName()}.core.${de.getPSSystemModule().codeName?lower_case}.domain.${de.codeName}" autoMapping="true"> <resultMap id="{{entity.codeName}}ResultMap" type="{{packageName}}.core.{{module}}.domain.{{entity.codeName}}" autoMapping="true">
<#if de.getKeyPSDEField().isPhisicalDEField()==true> {{#entity.keyField.phisicalDEField}}
<id property="${srfr7templcaseformat(de.getKeyPSDEField().codeName)}" column="${de.getKeyPSDEField().getName()?lower_case}" /><!--主键字段映射--> <id property="{{entity.keyField.codeName.camelCase}}" column="{{entity.keyField.columnName}}" /><!--主键字段映射-->
</#if> {{/entity.keyField.phisicalDEField}}
<#comment>外键值字段映射:由于需要将一个数据库列注入到2个domian属性中(主关系实体对象),由于已经手动将列映射给主关系对象,所以autoMapping将不会自动注入外键id,需要再次声明映射关系</#comment> {{#each entity.fields}}
<#comment>属性名称与代码名称不一致时,强制进行映射</#comment> {{#alias}}
<#list item.getPSDEFields() as defield> {{#unless deepStructure}}
<#if defield.isKeyDEField()!=true && ((defield.getDataType())!"")!='ONE2MANYDATA'> {{#unless keyDEField}}
<#if srfr7templcaseformat(defield.codeName)?lower_case != defield.name?lower_case || defield.getDataType()=='PICKUP'> <result property="{{alias}}" column="{{columnName}}" />
<result property="${srfr7templcaseformat(defield.codeName)}" column="${defield.getName()?lower_case}" /> {{/unless}}
</#if> {{/unless}}
</#if> {{/alias}}
</#list> {{/each}}
{{#each entity.nesteds}}
{{#columnName}}
<result property="{{codeName.camelCase}}" column="{{columnName}}" typeHandler="{{packageName}}.core.{{module}}.domain.handlers.{{entityCodeName}}TypeHandler" />
{{/columnName}}
{{/each}}
{{#each entity.references}}
<association property="{{codeName.camelCase}}" javaType="{{packageName}}.core.{{module}}.domain.{{entityCodeName}}" column="{{fkField.columnName}}" select="{{packageName}}.core.{{module}}.mapper.{{entityCodeName}}Mapper.selectById" fetchType="lazy"></association>
{{/each}}
</resultMap> </resultMap>
<select id="selectById" resultMap="{{entity.codeName}}ResultMap">
{{#if entity.viewDataQuery}}
{{#if entity.keyField.phisicalDEField}}
<include refid="view" />
{{#if entity.viewDataQuery.where}}
and
{{else}}
where
{{/if}}
t1.{{entity.keyField.columnName}}=#{id}
{{else}}
select t1.* from ( <include refid="view" /> ) t1
where {{entity.keyField.columnName}}=#{id}
{{/if}}
{{else}}
select t1.* from {{entity.viewName}} t1 where {{entity.keyField.columnName}}=#{id}
{{/if}}
</select>
{{#each entity.dataQueries}}
<sql id="{{codeName.camelCase}}" databaseId="{{dsType}}">
<![CDATA[
{{dsCode}}
]]>
</sql>
{{/each}}
{{#each entity.dataSets}}
<select id="search{{codeName.pascalCase}}" parameterType="{{packageName}}.core.{{module}}.filter.{{entity.codeName}}SearchContext" resultType={{#if enableGroup}}"java.util.HashMap"{{else}}"{{entity.codeName}}ResultMap"{{/if}}>
{{select}}
from (
{{#each queries}}
<include refid="{{camelCase this}}"/>
{{#unless @last}}
union all
{{/unless}}
{{/each}}
) t1
<where><if test="ew!=null and ew.sqlSegment!=null and !ew.emptyOfWhere">${ew.sqlSegment}</if></where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">${ew.sqlSegment}</if>
{{groupBy}}
{{orderBy}}
</select>
{{/each}}
{{#each entity.references as | reference |}}
<select id="selectBy{{reference.fkField.codeName.pascalCase}}" resultMap="{{entity.codeName}}ResultMap">
{{#if entity.defaultDataQuery}}
<include refid="{{entity.defaultDataQuery.codeName.camelCase}}" />
{{#if entity.defaultDataQuery.where}}
and
{{else}}
where
{{/if}}
{{else}}
select t1.* from {{#if entity.viewName}}{{entity.viewName}}{{else}}{{entity.tableName}}{{/if}} t1 where
{{/if}}
{{reference.fkField.columnName}} = #{{{reference.fkField.codeName.camelCase}}}
</select>
{{/each}}
</mapper> </mapper>
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册