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

Author:Marydon

(四)IBATIS + ORACLE

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

    第二部分:提升篇

    1.4.2.1 新增&修改共用一个SQL

<!-- 新增和修改使用一个SQL语句搞定 -->
<insert >
    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>

2022年2月7日10:59:01

说明:begin end块中只能添加insert、update、delete之类的,不能添加纯粹的select语句(可以使用select...into...)。

批量操作以排班表为例

    1.4.2.2 批量新增

    1.4.2.4 批量删除

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

<delete >
    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;
}

2021年11月16日10:35:07

ibatis使用动态值使用$$包住参数值即可,如:

ZJM like '$ZJM$%'

IBATIS + ORACLE(二)

2022年1月5日10:31:21

也可以

<isNotEmpty prepend="and" property="CHINESENAME">
	T.CHINESENAME like CONCAT(#CHINESENAME#,'%')
</isNotEmpty>

2021年11月24日18:31:02

Oracle还可以使用管道符

<isNotEmpty prepend="and" property="AccessType">
      T.ACCESSID like  #AccessType# || '%'
</isNotEmpty>

相关文章:

  • 2021-05-25
  • 2022-12-23
  • 2022-12-23
  • 2021-08-28
  • 2021-06-07
  • 2021-08-30
猜你喜欢
  • 2021-12-05
  • 2022-01-19
  • 2021-09-26
  • 2021-08-21
  • 2022-12-23
相关资源
相似解决方案