ibatis解决不确定列名方法

论坛 期权论坛 脚本     
匿名技术用户   2020-12-30 08:25   456   0


1.
<select id="getDimensionTableData" resultClass="java.util.HashMap" parameterClass="java.util.HashMap" remapResults="true">
<isEmpty property="tablename">
select * from $tableName$
</isEmpty>
</select>


2.
@SuppressWarnings("unchecked")
@Override
public List<Map<String, Object>> getDimensionTableData(String tableName) {
Map<String,String> map = new HashMap<String,String>();
map.put("tableName", tableName);
return (List<Map<String, Object>>) getSqlMapClientTemplate().queryForList("common.getDimensionTableData",map);
}

3. @Override
public List<Map<String, Object>> getDimensionTableData(String tableName) {
return commonDao.getDimensionTableData(tableName);
}

-------------\

<sqlMap namespace="manf_market">
<!-- 主页面 总体指标 实体类 -->
<typeAlias alias="getMainManfMarketTopModelList" type="com.ways.app.sales.entity.ManfMarketTopModelEntity" />
<!-- 主页面 图 实体类 -->
<typeAlias alias="getMainManfMarketMiddleByChartData" type="com.ways.app.sales.entity.ManfMainChartEntity" />
<!-- 主页面 表格 实体类 -->
<typeAlias alias="getMainManfMarketMiddleByGridData" type="com.ways.app.sales.entity.ManfMainGridByChartEntity" />
<!-- 二级页面 图 实体类 -->
<typeAlias alias="getSecondManfMarketChartData" type="com.ways.app.sales.entity.ManfSecondChartEntity" />
<!-- 二级页面 表格 实体类 -->
<typeAlias alias="getSecondManfMarketGridData" type="com.ways.app.sales.entity.ManfSecondGridEntity"/>

//查单个
<select id="getName" resultClass="java.lang.String" remapResults="true">
<isEqual property="rankType" compareValue="0">
SELECT DM.MANF_NAME from DM_MANF$language$ DM WHERE DM.MANF_ID = $manf$
</isEqual>
<isEqual property="rankType" compareValue="1">
SELECT DB.BRAND_NAME from DM_BRAND$language$ DB WHERE DB.BRAND_ID = $manf$
</isEqual>
</select>

@Override
public String getName(Map<String, String> map) {
List _list = (List) getSqlMapClientTemplate().queryForList("manf_market.getName",map);
String name = _list.get(0).toString();
return name;
}


1.1
//查多个
<!-- 二级页面 总体指标 -->
<select id="getSecondManfMarket_Top" parameterClass="java.util.HashMap" resultClass="getMainManfMarketTopModelList" >
with DATA as(
SELECT DISTINCT YEAR, MONTH_ID,
SUM(VS.BQ_SALES) BQ_SALE,
SUM(VS.SQ_SALES) SQ_SALE,
SUM(VS.TQ_SALES) TQ_SALE,
SUM(VS.BQ_YEARACC_SALES) B_YEAR,
SUM(VS.TQ_YEARACC_SALES) T_YEAR
</select>

1.2
@Override
public ManfMarketTopModelEntity getManfMarketTopHome(Map<String, String> map) {
ManfMarketTopModelEntity list = new ManfMarketTopModelEntity();
if(map.get("isSecond")!=null){
list=(ManfMarketTopModelEntity)getSqlMapClientTemplate().queryForObject("manf_market.getSecondManfMarket_Top",map);
}else{
list=(ManfMarketTopModelEntity)getSqlMapClientTemplate().queryForObject("manf_market.getManfMarket_Top",map);


//公共sql
<sql id="getTimeSQL">
BETWEEN (SELECT MIN(YEAR)|| LPAD(MIN(MONTH_ID), 2, 0) from V_STATE_SALES_SUB_MODEL VS WHERE
VS.YEAR = (SELECT MIN(VS.YEAR) from V_STATE_SALES_SUB_MODEL VS)
AND VS.DATA_TYPE_ID =$source$
)
AND
(SELECT MAX(YEAR)|| LPAD(MAX(MONTH_ID), 2, 0) from V_STATE_SALES_SUB_MODEL VS WHERE
VS.YEAR = (SELECT MAX(VS.YEAR) from V_STATE_SALES_SUB_MODEL VS)
AND VS.DATA_TYPE_ID =$source$
)
</sql>

使用
<include refid="getTimeSQL"/>

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP