`

一个标准化的ibatis的CRUD sql语句

 
阅读更多

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">

<sqlMap namespace="Calib0">
 
 <insert id="calib0.insert" parameterClass="com.tpaic.ruleengine.domain.Calib0">
     <![CDATA[
  INSERT INTO T_CALIB1
    ( CREATED_BY,
      CREATED_DATE,
      CALIB_ID,
         DEPARTMENT_CODE,
            CHANNEL_SOURCE_CODE,
            BUSINESS_TYPE,
            APPLY_TYPE
   )
  VALUES
    (#createdBy:VARCHAR#,
     sysdate,
     #calibId:VARCHAR#,
     #departmentCode:VARCHAR#,
     #channelSourceCode:VARCHAR#,
     #businessType:VARCHAR#,
     #applyType:VARCHAR#
    )
     ]]>
 </insert>
 

 <select id="calib0.search" parameterClass="com.tpaic.ruleengine.domain.Calib0"
  resultClass="com.tpaic.ruleengine.domain.Calib0">
  select
          c.CREATED_DATE createdDate,
          c.CREATED_BY createdBy,
           c.CALIB_ID calibId,
            c.DEPARTMENT_CODE departmentCode,
            (select t.department_chinese_name from t_department_define t where t.internal_department_code = c.department_code) departmentName,
            c.CHANNEL_SOURCE_CODE channelSourceCode,
            c.BUSINESS_TYPE businessType,
            c.APPLY_TYPE applyType,
            (select a1.rule_id from t_calib_rule a1 where a1.calib_id=c.calib_id and a1.business_type='R1') as forbiddenRuleId,
            (select b1.rule_name from t_decision_rule b1 where b1.rule_id in (select a1.rule_id from t_calib_rule a1 where a1.calib_id=c.calib_id and a1.business_type='R1')) as forbiddenRuleName,
            (select a1.rule_id from t_calib_rule a1 where a1.calib_id=c.calib_id and a1.business_type='R2') as mustRuleId,
            (select b1.rule_name from t_decision_rule b1 where b1.rule_id in (select a1.rule_id from t_calib_rule a1 where a1.calib_id=c.calib_id and a1.business_type='R2')) as mustRuleName,
            (select a1.rule_id from t_calib_rule a1 where a1.calib_id=c.calib_id and a1.business_type='R3') as limitRuleId,
            (select b1.rule_name from t_decision_rule b1 where b1.rule_id in (select a1.rule_id from t_calib_rule a1 where a1.calib_id=c.calib_id and a1.business_type='R3')) as limitRuleName
      from T_CALIB1 c
      where 1 = 1
  <isNotEmpty prepend="and" property="departmentCode">
   <isNotEmpty prepend="" property="subOrganFlag">
    c.DEPARTMENT_CODE in
     (select tdd01.internal_department_code from t_department_define tdd01
           connect by prior tdd01.internal_department_code = tdd01.upper_department_code
           start with tdd01.internal_department_code=#departmentCode#) 
   </isNotEmpty>
   <isEmpty prepend="" property="subOrganFlag">
    c.DEPARTMENT_CODE = #departmentCode#
   </isEmpty>
  </isNotEmpty>
  <isNotEmpty prepend="and" property="channelSourceCode">
   c.CHANNEL_SOURCE_CODE = #channelSourceCode#
  </isNotEmpty>
  <isNotEmpty prepend="and" property="businessType">
   c.BUSINESS_TYPE = #businessType#
  </isNotEmpty>
  <isNotEmpty prepend="and" property="applyType">
   c.APPLY_TYPE = #applyType#
  </isNotEmpty>
  <isNotEmpty prepend="AND" property="userDept">
           c.DEPARTMENT_CODE IN
              (select tdd01.internal_department_code from t_department_define tdd01
                  connect by prior tdd01.internal_department_code = tdd01.upper_department_code
                  start with tdd01.internal_department_code=#userDept#)
       </isNotEmpty>
 </select>
 
 <select id="calib0.searchById" parameterClass="java.lang.String"
  resultClass="com.tpaic.ruleengine.domain.Calib0">
  select
   c.CALIB_ID calibId,
         c.DEPARTMENT_CODE departmentCode,
          (select t.department_chinese_name from t_department_define t where t.internal_department_code = c.department_code) departmentName,
            c.CHANNEL_SOURCE_CODE channelSourceCode,
            c.BUSINESS_TYPE businessType,
            c.APPLY_TYPE applyType
  from T_CALIB1 c where c.CALIB_ID = #calibId#
 </select> 
 
 <delete id="calib0.delete" parameterClass="com.tpaic.ruleengine.domain.Calib0">
   <![CDATA[
         DELETE FROM T_CALIB1
           WHERE CALIB_ID = #calibId#
       ]]>
 </delete>

<update id="vehicleBlackList.delete" parameterClass="com.tpaic.ruleengine.domain.VehicleBlackList">
  UPDATE T_VEHICLE_BLACK_LIST
        SET DELETED_FLAG = '1',
           DELETED_DATE = sysdate,
           DELETED_BY =#deletedBy#
           WHERE ID = #id#
 </update>
 
 <update id="vehicleBlackList.update" parameterClass="com.tpaic.ruleengine.domain.VehicleBlackList">
  UPDATE T_VEHICLE_BLACK_LIST set
   updated_date   =sysdate,
   updated_by     =#updatedBy#,
   ENGINE_NO     =#engineNo#,
      VEHICLE_FRAME_NO =#vehicleFrameNo#,
      SORT_DISPLAY   =#sortDisplay#,
      CLAIM_TIMES   =#claimTimes#,
      CLAIM_RATIO   =#claimRatio#,
      REMARK        =#remark#
   WHERE    ID   = #id#
 </update>
</sqlMap>  

分享到:
评论

相关推荐

    ibatis实现CRUD操作

    Ibatis是由MyBatis的前身,是一个基于Java的持久层框架,它的主要功能是将SQL语句与Java代码分离,提供了一种动态的SQL配置方式,可以避免大量的JDBC代码编写,提高开发效率。Ibatis通过XML或注解方式定义和配置SQL...

    ibatis16个常用sql语句

    iBatis 16个常用SQL语句 iBatis是一个基于Java的持久层框架,提供了一个简洁的方式来访问和操作数据库。在iBatis中,SQL语句是...iBatis提供了一个灵活的方式来配置SQL语句,支持各种类型的输入参数和复杂的查询语句。

    ibatis简单CRUD例子

    Ibatis,又称为MyBatis,是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。Ibatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。Ibatis可以使用简单的XML或注解进行配置和原始映射,将...

    ibatis mybatis crud 完整代码

    首先,你需要定义一个实体类,然后创建一个插入方法,指定SQL语句。例如,创建一个用户: ```java // Mapper接口 public interface UserMapper { void insertUser(User user); } ``` ```xml &lt;!-- XML配置...

    ibatis mybatis 分页 crud 完整代码

    CRUD操作在Ibatis中通过SqlMapClient或SqlSession对象来完成,这些对象可以执行预定义的SQL语句,如Insert、Select、Update和Delete。 2. **Mybatis**: Mybatis 是Ibatis的升级版,它在Ibatis的基础上进行了优化...

    iBatis 简单增删改查(CRUD)操作

    iBatis 提供了一个灵活的映射框架,它将SQL语句与Java代码分离,使得开发者可以更方便地管理SQL逻辑。iBatis 不是ORM框架,而是SQL Map框架,它允许开发者直接编写SQL,保持了SQL的灵活性。 **二、环境搭建** 首先...

    iBatis执行非查询语句(CRUD,函数和过程)

    iBatis是一个轻量级的Java持久层框架,它允许开发者将SQL语句与Java代码直接结合,提供了灵活的数据访问接口。这篇博客“iBatis执行非查询语句(CRUD,函数和过程)”深入探讨了如何在iBatis中执行创建、读取、更新和...

    iBATIS-SqlMaps,ibatis映射文件

    iBATIS-SqlMaps是Java开发中的一个持久层框架,它提供了一种将SQL语句与Java代码分离的解决方案,从而使得数据库访问更加灵活和易于维护。iBATIS的核心概念是SqlMapConfig.xml配置文件和一系列的SqlMap.xml映射文件...

    ibatis sql生成工具

    例如,对于一个CRUD(创建、读取、更新、删除)操作,工具会生成完整的Insert、Select、Update和Delete的SQL语句,以及对应的Java接口和实现类。 此外,该工具可能还包含了对复杂的查询条件的支持,比如模糊搜索、...

    ASP.NET MVC+iBatis+SQL

    3. **参数绑定**:在iBatis映射文件中,可以使用占位符绑定动态参数,实现SQL语句的参数化,提高安全性并防止SQL注入。 综上所述,这个项目演示了如何结合ASP.NET MVC、iBatis和SQL来构建一个简单的Web应用程序。...

    iBATIS-SqlMaps-2 PDF文档资料中文

    首先,iBATIS的核心概念是SqlMap,它是一个XML配置文件,用于定义SQL语句和它们的参数映射。在iBATIS-SqlMaps-2中,SqlMap配置文件包含了各种类型的SQL语句,如SELECT、INSERT、UPDATE和DELETE,以及对应的参数和...

    springMVC+Spring3.1+Ibatis整合CRUD

    iBatis是一个SQL映射框架,它允许开发者编写SQL语句并将其与Java代码分离。通过XML配置文件或注解,我们可以定义SQL查询、存储过程等,并将结果映射到Java对象。iBatis的灵活性在于它允许直接操作SQL,使得性能优化...

    iBATIS-SqlMaps中文教程集合

    这个框架的主要目的是简化Java应用程序与数据库之间的交互,通过XML或注解方式将SQL语句映射到Java方法,实现了数据访问逻辑与业务逻辑的分离,提升了开发效率。 在“iBATIS-SqlMaps中文教程集合”中,你将找到四本...

    ibatis的一个CRUD

    1. **创建项目**:首先,在开发环境中创建一个新的Java或Web项目。然后在项目的lib目录下放置所需的IBatis工作包(如`ibatis-2.3.4.726.jar`)和数据库驱动包(如`mysql-connector-java-5.1.7-bin.jar`)。 2. **...

    <<ibatis框架源代码剖析>> 一个CRUD操作的ibatis项目实例

    在iBatis中,可以定义一个`&lt;insert&gt;`标签,其中包含SQL语句,然后在Java代码中调用SqlSession的`insert()`方法,传入映射ID和参数对象。 2. 读取(Retrieve):读取数据通常使用SELECT语句。`&lt;select&gt;`标签定义了...

    iBATIS-SqlMaps-2_cn.pdf 中文

    iBATIS是一个优秀的开源持久层框架,它允许开发者将SQL语句直接写入XML配置文件,避免了JDBC代码的繁琐编写,提高了开发效率。 在本手册中,你将深入学习到以下关键知识点: 1. **iBATIS概述**:iBATIS源自IBM的...

    ibatis(mybatis)的学习工程 带详细注释

    本学习工程是针对MyBatis进行深入理解与实践的一个绝佳示例,特别适合初学者或希望提升MyBatis技能的开发者。 首先,让我们详细了解MyBatis的核心概念和功能: 1. SQL映射文件:MyBatis的精髓在于SQL映射文件,...

    ibatis学习资料汇总

    你可以创建一个简单的CRUD(创建、读取、更新、删除)应用,或者参与更复杂的业务逻辑,如分页查询、多表联查等。这将帮助你熟悉iBatis的配置、接口调用以及异常处理。 总结,iBatis作为一款强大的数据访问框架,为...

Global site tag (gtag.js) - Google Analytics