ibatis 存储过程写法
<?xml version="1.0" encoding="utf-8" ?>
<sqlMap namespace="DepartmentInfoModel" xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > <alias>
<typeAlias alias="DepartmentInfoModel" type="Dscf.Global.Employee.Model.DepartmentInfoModel,Dscf.Global" />
</alias> <!--门店树 传参-->
<parameterMaps>
<parameterMap id="selectMap_Dept_DeptInfo" class="DepartmentInfoModel">
<parameter property="Idenid" column="Idenid"/>
</parameterMap>
</parameterMaps> <resultMaps>
<resultMap id="selectMap_T_DepartmentInfo" class="DepartmentInfoModel">
<result property="DepId" column="DepId"/>
<result property="DepName" column="DepName"/>
<result property="ParentDepId" column="ParentDepId"/>
<result property="DepCode" column="DepCode"/>
<result property="CustomerServicePhone" column="CustomerServicePhone"/>
<result property="RevolvingLoanPhone" column="RevolvingLoanPhone"/>
<result property="EarlyRepayPhone" column="EarlyRepayPhone"/>
<result property="Email" column="Email"/>
<result property="SignAddress" column="SignAddress"/>
<result property="SignZipCode" column="SignZipCode"/>
<result property="IsDeleted" column="IsDeleted"/>
<result property="SignCity" column="SignCity"/>
<result property="IsEnable" column="IsEnable"/>
<result property="LastOperateId" column="LastOperateId"/>
<result property="LastUpdateTime" column="LastUpdateTime"/>
<result property="CreateTime" column="CreateTime"/>
<result property="OperateId" column="OperateId"/>
<result property="IsReceiveEmail" column="IsReceiveEmail"/>
</resultMap> <!--门店树 返回值 -->
<resultMap id="selectMap_T_DepartmentInfoTree" class="DepartmentInfoModel">
<result property="DepId" column="DepId"/>
<result property="SignZipCode" column="SignZipCode"/>
<result property="IsDeleted" column="IsDeleted"/>
<result property="SignCity" column="SignCity"/>
<result property="IsEnable" column="IsEnable"/>
<result property="LastOperateId" column="LastOperateId"/>
<result property="LastUpdateTime" column="LastUpdateTime"/>
<result property="CreateTime" column="CreateTime"/>
<result property="OperateId" column="OperateId"/>
<result property="DepName" column="DepName"/>
<result property="ParentDepId" column="ParentDepId"/>
<result property="DepCode" column="DepCode"/>
<result property="CustomerServicePhone" column="CustomerServicePhone"/>
<result property="RevolvingLoanPhone" column="RevolvingLoanPhone"/>
<result property="EarlyRepayPhone" column="EarlyRepayPhone"/>
<result property="Email" column="Email"/>
<result property="SignAddress" column="SignAddress"/> <result property="ParentName" column="ParentName"/>
<result property="sort" column="sort"/>
<result property="level" column="level"/>
<result property="IsReceiveEmail" column="IsReceiveEmail"/>
</resultMap>
</resultMaps> <statements>
<!-- 查询 需要后动修改分页时的排序字段 -->
<select id="select_T_DepartmentInfo" resultMap="selectMap_T_DepartmentInfo" resultClass="DepartmentInfoModel" parameterClass="DepartmentInfoModel">
SELECT
<isNotNull property="TopNums">
<![CDATA[ top $TopNums$]]>
</isNotNull>
MAX(row_n) over(partition by ) as TotalItems, *
FROM
(
<!-- ********* 必须要修改 order by a.Id ********* -->
SELECT ROW_NUMBER() OVER ( PARTITION BY ORDER BY a.DepId) AS row_n,a.DepId,a.DepName,a.ParentDepId,a.DepCode,a.CustomerServicePhone,a.RevolvingLoanPhone,a.EarlyRepayPhone,a.Email,a.SignAddress,a.SignZipCode,a.IsDeleted,a.SignCity,a.IsEnable,a.LastOperateId,a.LastUpdateTime,a.CreateTime,a.OperateId,a.IsReceiveEmail
FROM T_DepartmentInfo as a
<dynamic prepend="where"> <isNotNull prepend="and" property="DepId">
<![CDATA[ a.DepId=#DepId# ]]>
</isNotNull> <isNotNull prepend="and" property="IsReceiveEmail">
<![CDATA[ a.IsReceiveEmail=#IsReceiveEmail# ]]>
</isNotNull> <isNotNull prepend="and" property="DepName">
<![CDATA[ a.DepName=#DepName# ]]>
</isNotNull> <isNotNull prepend="and" property="ParentDepId">
<![CDATA[ a.ParentDepId=#ParentDepId# ]]>
</isNotNull> <isNotNull prepend="and" property="DepCode">
<![CDATA[ a.DepCode=#DepCode# ]]>
</isNotNull> <isNotNull prepend="and" property="CustomerServicePhone">
<![CDATA[ a.CustomerServicePhone=#CustomerServicePhone# ]]>
</isNotNull> <isNotNull prepend="and" property="RevolvingLoanPhone">
<![CDATA[ a.RevolvingLoanPhone=#RevolvingLoanPhone# ]]>
</isNotNull> <isNotNull prepend="and" property="EarlyRepayPhone">
<![CDATA[ a.EarlyRepayPhone=#EarlyRepayPhone# ]]>
</isNotNull> <isNotNull prepend="and" property="Email">
<![CDATA[ a.Email=#Email# ]]>
</isNotNull> <isNotNull prepend="and" property="SignAddress">
<![CDATA[ a.SignAddress=#SignAddress# ]]>
</isNotNull> <isNotNull prepend="and" property="SignZipCode">
<![CDATA[ a.SignZipCode=#SignZipCode# ]]>
</isNotNull> <isNotNull prepend="and" property="IsDeleted">
<![CDATA[ a.IsDeleted=#IsDeleted# ]]>
</isNotNull> <isNotNull prepend="and" property="SignCity">
<![CDATA[ a.SignCity=#SignCity# ]]>
</isNotNull> <isNotNull prepend="and" property="IsEnable">
<![CDATA[ a.IsEnable=#IsEnable# ]]>
</isNotNull> <isNotNull prepend="and" property="LastOperateId">
<![CDATA[ a.LastOperateId=#LastOperateId# ]]>
</isNotNull> <isNotNull prepend="and" property="LastUpdateTime_B">
<![CDATA[ a.LastUpdateTime>=#LastUpdateTime_B# ]]>
</isNotNull>
<isNotNull prepend="and" property="LastUpdateTime_E">
<![CDATA[ a.LastUpdateTime<=#LastUpdateTime_E# ]]>
</isNotNull> <isNotNull prepend="and" property="CreateTime_B">
<![CDATA[ a.CreateTime>=#CreateTime_B# ]]>
</isNotNull>
<isNotNull prepend="and" property="CreateTime_E">
<![CDATA[ a.CreateTime<=#CreateTime_E# ]]>
</isNotNull> <isNotNull prepend="and" property="OperateId">
<![CDATA[ a.OperateId=#OperateId# ]]>
</isNotNull> <!-- 一个例子 -->
<!--<isNotEmpty prepend="and" property="属性名">
字段名 like #属性名#
</isNotEmpty>-->
</dynamic>
) as a
<dynamic prepend="where">
<isNotNull property="PrevPageNums">
<![CDATA[ a.row_n>$PrevPageNums$]]>
</isNotNull>
</dynamic> </select> <!-- 数据分析 树-->
<procedure id="select_T_DepartmentInfoTree" parameterMap="selectMap_Dept_DeptInfo" resultMap="selectMap_T_DepartmentInfoTree" >
Proc_LoanStorDept
</procedure> <!-- 添加 -->
<insert id="insert_T_DepartmentInfo" parameterClass="DepartmentInfoModel">
<selectKey property="DepId" type="post" resultClass="int">
${selectKey}
</selectKey>
INSERT INTO T_DepartmentInfo
(
DepName,ParentDepId,DepCode,CustomerServicePhone,RevolvingLoanPhone,EarlyRepayPhone,Email,SignAddress,SignZipCode,IsDeleted,SignCity,IsEnable,LastOperateId,LastUpdateTime,CreateTime,OperateId,IsReceiveEmail
) VALUES
(
#DepName#,#ParentDepId#,#DepCode#,#CustomerServicePhone#,#RevolvingLoanPhone#,#EarlyRepayPhone#,#Email#,#SignAddress#,#SignZipCode#,#IsDeleted#,#SignCity#,#IsEnable#,#LastOperateId#,#LastUpdateTime#,#CreateTime#,#OperateId#,#IsReceiveEmail#
) </insert> <!-- 更新 -->
<update id="update_T_DepartmentInfo" parameterClass="DepartmentInfoModel">
UPDATE T_DepartmentInfo SET DepName=#DepName#,
ParentDepId=#ParentDepId#,
DepCode=#DepCode#,
CustomerServicePhone=#CustomerServicePhone#,
RevolvingLoanPhone=#RevolvingLoanPhone#,
EarlyRepayPhone=#EarlyRepayPhone#,
Email=#Email#,
SignAddress=#SignAddress#,
SignZipCode=#SignZipCode#,
IsDeleted=#IsDeleted#,
SignCity=#SignCity#,
IsEnable=#IsEnable#,
LastOperateId=#LastOperateId#,
LastUpdateTime=#LastUpdateTime#,
CreateTime=#CreateTime#,
OperateId=#OperateId#,
IsReceiveEmail=#IsReceiveEmail#
<!-- -->
WHERE T_DepartmentInfo.DepId=#DepId#
</update> <!--删除-->
<delete id="delete_T_DepartmentInfo" parameterClass="DepartmentInfoModel">
DELETE FROM T_DepartmentInfo where DepId=#DepId#
</delete> <!-- 删除-->
<delete id="delete_flag_T_DepartmentInfo" parameterClass="DepartmentInfoModel">
UPDATE T_DepartmentInfo set IsDeleted = where DepId=#DepId#
</delete>
</statements>
</sqlMap>
ibatis 存储过程写法的更多相关文章
- SQL组合查询的存储过程写法
最进一个项目 里面有个查询的功能,它是进行组合查询的, 而且用的是存储过程写.写这样的存储过程,需要注意单引号的使用,请看本人下面的例子,假如你以后写的话 记得注意写就行: create proc s ...
- mysql数据库-定义函数-存储过程写法
------------- mysql 定义自定义函数写法 DELIMITER $$ USE `iwmsdb`$$ DROP FUNCTION IF EXISTS `F_WM_DBNAME`$$ C ...
- oracle ibatis 存储过程 返回游标 嵌套表
自己解决问题了 问题总结: 1.index by表不能存储在数据库中的type中,故选择嵌套表. 2.ibatis不支持oracle的复合数据类型的返回.(个人理解) 3.替代方案:用返回oracle ...
- SQL Server分页的存储过程写法以及性能比较
------创建数据库data_Test ----- create database data_Test GO use data_Test GO create table tb_TestTable - ...
- iBATIS存储过程
使用iBATIS配置来调用存储过程.为了理解这一章,首先需要了解我们是如何在MySQL中创建一个存储过程. 在继续对本章学习之前,可以通过MySQL存储过程. 我们已经在MySQL下有EMPLOYEE ...
- Oracle存储过程写法
create or replace procedure QIANFEIGL_JIAOKUANDY( cebenh varchar2, kehuh varchar2, hetongh varchar2, ...
- mysql存储过程写法—动态参数运用
--删除 双击代码全选 1 drop procedure if exists up_common_select --创建 双击代码全选 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...
- Oracle常用存储过程写法
写在前面 这段时间工作最长接触到的就是Oracle数据库,不论查数据,还是统计.运行job,都离不开PL/SQL 存储过程,下面就整理下经常用到的知识. 一.Function函数 函数是执行非查询语句 ...
- 【Oracle】存储过程写法小例子
1.存储过程的基本语法: CREATE OR REPLACE PROCEDURE 存储过程名(param1 in type,param2 out type) IS 变量1 类型(值范围); 变量2 类 ...
随机推荐
- tomcat服务器配置多个项目
修改tomcat的server.xml文件中的Engine标签下的Host标签如下: <Host name="www.a.com" appBase="webapps ...
- Codeforces Round #367 (Div. 2) Hard problem
Hard problem 题意: 有n个字符串,对第i个字符串进行反转操作代价为ci. 要使n个字符串按照字典序从小到大排列,最小的代价是多少. 题解: 反转就是reverse操作,比如说45873反 ...
- POJ-2752 Seek the Name, Seek the Fame(KMP,前缀与后缀相等)
题意: 给出一个字符串str,求出str中存在多少子串,使得这些子串既是str的前缀,又是str的后缀.从小到大依次输出这些子串的长度. 这个就是next数组的应用,next数组真是很深奥啊. ...
- SPOJ Query on a tree 树链剖分 水题
You are given a tree (an acyclic undirected connected graph) with N nodes, and edges numbered 1, 2, ...
- php 封装mysql 数据库操作类
<?phpheader('content-type:text/html;charset=utf-8');//封装mysql 连接数据库php_mysql//封装mysql 连接数据库ph ...
- java多线程之ThreadLocal
ThreadLocal为每个线程保存变量,以保证数据同步. package Thread.Common; import java.util.Random; import java.util.concu ...
- $.ajax获取不到数据问题解决
$("#updateflow").click(function () { $.ajaxSetup({ contentType: "application/json;cha ...
- 中文unicode范围及unicode编解码
中文unicode范围 : [\u4e00-\u9fa5] 普通字符串可以用多种方式编码成Unicode字符串,具体要看你究竟选择了哪种编码:unicodestring = u"Hello ...
- C++学习39 异常处理入门(try和catch)
编译器能够保证代码的语法是正确的,但是对逻辑错误和运行时错误却无能为力,例如除数为 0.内存分配失败.数组越界等.这些错误如果放任不管,系统就会执行默认的操作,终止程序运行,也就是我们常说的程序崩溃( ...
- eclipse中代码注释
1.类注释 Window->Preference->Java->Code Style->Code Template alt+shift+J 默认的快捷键 或者 先敲“/”在敲两 ...