IBatis.Net使用总结(四)-- IBatis 调用存储过程
IBatis 调用存储过程
http://www.cnblogs.com/jeffwongishandsome/archive/2010/01/10/1543219.html
http://www.cnblogs.com/firstyi/archive/2008/01/25/1053208.html
存储过程大致分为两种:
- 查询类存储过程——select查询类的存储过程,不曾改变数据库数据的存储过程
- 更新类存储过程——Update/Insert/Delete类型的存储过程,改变数据库数据的存储过程
IBatis.net调用存储过程:
1、查询类型的存储过程
创建一个查询类存储过程,其中包含output参数。
CREATE PROCEDURE up_GetCountByTitle
@title VARCHAR() ,
@total INT OUT
AS
BEGIN
WITH a AS (
SELECT * FROM Article a WHERE a.ArticleTitle LIKE '%'+@title+'%')
SELECT @total=COUNT(*) FROM a
END
获取总数的存储过程
XML文件,如果包含输出参数,输出参数属性值,必须包含column属性。
<?xml version="1.0" encoding="utf-8" ?>
<sqlMap namespace="Article"
xmlns="http://ibatis.apache.org/mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<alias>
<typeAlias alias="Article" type="YY.MicroNet.Model.Article,YY.MicroNet.Model"/>
</alias>
<resultMaps>
<resultMap id="FullResultMap" class="Article">
<result property="PKArticle" column="PK_Article" dbType="VarChar"/>
<result property="ArticleTitle" column="ArticleTitle" dbType="NVarChar"/>
<result property="ArticleAuthor" column="ArticleAuthor" dbType="NVarChar"/>
<result property="ArticleContent" column="ArticleContent" dbType="NVarChar"/>
<result property="EditTime" column="EditTime" dbType="DateTime"/>
<result property="Dr" column="Dr" dbType="Bit"/>
<result property="Ts" column="Ts" dbType="DateTime"/>
</resultMap>
<parameterMaps>
<!--parameterMap中的参数个数和顺序要和up_GetCountByTitle存储过程中的一致-->
<parameterMap id="params" class="Hashtable">
<parameter property="title" />
<parameter property="total" column="total" direction="Output"/>
</parameterMap>
</parameterMaps>
</resultMaps>
<statements>
<!--调用查询类型的存储过程-->
<procedure id="Article_GetCountByTitle" parameterMap="" resultClass="System.Int32">
up_GetCountByTitle
</procedure>
</statements>
</sqlMap>
ArticleMap.xml
在cs中调用
public IList<Article> GetCountByTitle(Hashtable ht)
{
String stmtId = "Article_GetCountByTitle";
IList<Article> result = SqlMap.QueryForList<Article>(stmtId, ht);
return result;
}
IBatis.Net使用总结(四)-- IBatis 调用存储过程的更多相关文章
- Java和Ibatis调用存储过程并取得返回值详解
Java和Ibatis调用存储过程并取得返回值详解 2011-07-19 17:33 jiandanfeng2 CSDN博客 字号:T | T 本文主要介绍了Java和Ibatis调用存储过程的方法, ...
- MySQL 存储过程实例 与 ibatis/mybatis/hibernate/jdbc 如何调用存储过程
虽然MySQL的存储过程,一般情况下,是不会使用到的,但是在一些特殊场景中,还是有需求的.最近遇到一个sql server向mysql迁移的项目,有一些sql server的存储过程需要向mysql迁 ...
- iBatis调用存储过程以及MySQL创建存储过程
首先是MySQL中创建存储过程的SQL -- 列出全部的存储过程 SHOW PROCEDURE STATUS; -- 查看一个已存在的存储过程的创建语句,假设此存储过程不存在,会提示SQL错误(130 ...
- Ibatis调用存储过程实现增删改以及分页查询
1.Ibatis实现增删改操作很简单了,通常我是将某一模块的增删改功能写在一个存储过程里,通过一个标识符去区分执行增加还是修改抑或删除操作. statement: <!-- 存储过程:实现学生的 ...
- ibatis 调用存储过程
ibatis 调用存储过程 CreationTime--2018年8月15日19点38分 Author:Marydon 1.返回系统游标集合 第一步:返回值,将返回值封装到HashMap中 < ...
- ibatis调用存储过程(无返回参数)
ibatis调用存储过程例子: java: getSqlMapClientTemplate().insert(sql, paraMap) ibatis xml: <parameterMap id ...
- ASP.NET MVC深入浅出(被替换) 第一节: 结合EF的本地缓存属性来介绍【EF增删改操作】的几种形式 第三节: EF调用普通SQL语句的两类封装(ExecuteSqlCommand和SqlQuery ) 第四节: EF调用存储过程的通用写法和DBFirst模式子类调用的特有写法 第六节: EF高级属性(二) 之延迟加载、立即加载、显示加载(含导航属性) 第十节: EF的三种追踪
ASP.NET MVC深入浅出(被替换) 一. 谈情怀-ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态 ...
- [原创]java WEB学习笔记79:Hibernate学习之路--- 四种对象的状态,session核心方法:save()方法,persist()方法,get() 和 load() 方法,update()方法,saveOrUpdate() 方法,merge() 方法,delete() 方法,evict(),hibernate 调用存储过程,hibernate 与 触发器协同工作
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- 第四节: EF调用存储过程的通用写法和DBFirst模式子类调用的特有写法
一. 背景 上一个章节,介绍了EF调用两类SQL语句,主要是借助 ExecuteSqlCommand 和 SqlQuery 两个方法来完成,在本章节主要是复习几类存储过程的写法和对应的EF调用这几类 ...
随机推荐
- 数学规划模型的matlab求解 非线性最小二乘lsqnonlin
LINK :http://blog.sina.com.cn/s/blog_49f037d60100ok8y.html
- Python之路3【第一篇】Python基础
本节内容 Python简介 Python安装 第一个Python程序 编程语言的分类 Python简介 1.Python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum) ...
- Tomcat8安装, 安全配置与性能优化(转)
一.Tomcat 安装 官网:http://tomcat.apache.org/ Tomcat8官网下载地址:http://tomcat.apache.org/download-80.cgi 为了便于 ...
- 行为驱动开发iOS <收藏>
前段时间在design+code购买了一个学习iOS设计和编码在线课程,使用Sketch设计App,然后使用Swift语言实现Designer News客户端.作者Meng To已经开源到Github ...
- [Asp.net]常见word,excel,ppt,pdf在线预览方案,有图有真相,总有一款适合你!
引言 之前项目需要,查找了office文档在线预览的解决方案,顺便记录一下,方便以后查询. 方案一 直接在浏览器中打开Office文档在页面上的链接.会弹出如下窗口: 优点:主流浏览器都支持. 缺点: ...
- ASP.NET 验证码控件
public class ValidateCode : WebControl { /// <summary> /// 默认构造函数,暴露的属性接口 /// </summary> ...
- Java Web ——http协议请求报文
package com.demo.util; import java.io.IOException; import java.io.InputStream; import java.net.*; /* ...
- Html报表用Excel打开保持表格线【Html报表模板】
注:本人调试的最简版,前两处红色部分是为了输出Excel表格线:x:str表示输出为文本样式,避免被输出为科学计数法. <!DOCTYPE html PUBLIC "-//W3C//D ...
- socket.io简单入门(一.实现简单的图表推送)
引子:随着nodejs蓬勃发展,虽然主要业务系统因为架构健壮性不会选择nodejs座位应用服务器.但是大量的内部系统却可以使用nodejs试水,大量的前端开发人员转入全堆开发也是一个因素. 研究本例主 ...
- 搭建 AngularJS+Ionic+Cordova 开发环境并运行一个demo
目前的手机APP有三类:原生APP,WebAPP,HybridApp:HybridApp结合了前两类APP各自的优点,越来越流行. Cordova就是一个中间件,让我们把WebAPP打包成Hybrid ...