IBATIS + ORACLE(二)

迁移时间:2017年6月1日16:09:02

Author:Marydon

(四)IBATIS + ORACLE

    UpdateTime--2017年5月31日10:49:34    

    第二部分:提升篇 

    1.4.2.1 新增&修改共用一个SQL

<!-- 新增和修改使用一个SQL语句搞定 -->
<insert id="saveTDICTICDCLASS" parameterClass="map">
    DECLARE
        n_count number(1);
    BEGIN
        SELECT count(1) INTO n_count FROM TDICTICDCLASS
        WHERE FCLASSID=#FCLASSID#;
        IF n_count=0 THEN
            INSERT INTO TDICTICDCLASS(FCLASSID,FCLASSNAME,FICDFM,FPLVCODE)
            VALUES(#FCLASSID:VARCHAR#,#FCLASSNAME:VARCHAR#,#FICDFM:VARCHAR#,#FPLVCODE:VARCHAR#);
        ELSE
            UPDATE TDICTICDCLASS
            <dynamic prepend="SET">
                <isNotEmpty prepend="," property="FCLASSID">FCLASSID=#FCLASSID#</isNotEmpty>
                <isNotEmpty prepend="," property="FCLASSNAME">FCLASSNAME=#FCLASSNAME#</isNotEmpty>
                <isNotNull prepend="," property="FICDFM">FICDFM=#FICDFM#</isNotNull>
                <isNotEmpty prepend="," property="FPLVCODE">FPLVCODE=#FPLVCODE#</isNotEmpty>
            </dynamic>
            WHERE FCLASSID=#FCLASSID#;
        END IF;
    END;
</insert>

    批量操作以排班表为例

    1.4.2.2 批量新增

    1.4.2.4 批量删除

     js取值方式,注意事项 同上

<delete id="delCONSULT_SCHEDULE" parameterClass="map">
    DELETE FROM CONSULT_SCHEDULE  WHERE CONSULT_SCHEDULE_ID IN ($CONSULT_SCHEDULE_ID$)
</delete>  

    1.4.2.5 调用存储过程

     CreateTime--2017年1月10日10:42:49

      sqlmap文件配置

      第四步:Dao层获取返回数据        

/**
 * 三目录对照错误信 息汇总查询
 * @param mapParam
 * @return
 * @throws DaoException
 */
public List<Map<String, Object>> getSHEHE_ERROR_DATA(Map mapParam) throws DaoException {
    List list = null;
    try {
        //用这两步实现接收返回数据
        sqlMap.queryForList("xnh.config.orgitem.getSHEHE_ERROR_DATA", mapParam != null ? mapParam : new HashMap());
        list = (List) mapParam.get("out_cur");
    } catch (Exception e) {
        String err = "查询出错->出错原因:" + e.getMessage();
        log.error(err, e);
        throw new DaoException(err, e);
    }
    return list;
}
原文地址:https://www.cnblogs.com/Marydon20170307/p/6929428.html