- 浏览: 395823 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (285)
- test (0)
- 分类 (1)
- java (281)
- tttttttttttt (1)
- android程序复制数据库 (1)
- Hibernate 动态 HQL (1)
- java编写扑克的洗牌程序 (1)
- NIO 之 选择就绪模式 (1)
- wpo另类问题:不可轻视的蜘蛛爬行对服务器造成的负担 (1)
- haml (1)
- cvcvcvc (1)
- 开源史上最成功的8个开源产品 (1)
- XML文件转换成Word文件或者Excel文件 (1)
- 一些利用开源浏览器核心开发专用浏览器的连接 (1)
- 毛笔效果简单思路 (1)
- 年终考评以后 (1)
- RFC821 简单邮件传输协议(SMTP)中文定义文档 (1)
- JNI中jstring类型与c语言中的字符串的转换 (1)
- 极限编程(XP)的重构与设计模式 (1)
- MapInfo2005年第三期电子新闻 (1)
- 想到目前各BLOG站点和搜索引擎的一点点缺陷 (1)
- 成功通过DB2的700和701考试 (1)
- 基于记录登陆信息的防止网页暴力破解方法 (1)
- Router路由 (1)
- 终于稍微完整的学习了一下Linux (1)
- android手机通讯录备份还原代码 (1)
- Qt之美(一):d指针/p指针详解 (1)
- DB2 静默安装 (1)
- linux开机启动脚本的顺序 (1)
- Hibernate实体对象的三种状态 (1)
- Hibernate面向对象的hql语句 (1)
- ibatIS调用存储过程 (1)
- Linux启动过程(详细说明) (1)
- C3P0配置 (1)
- memcache安装 (1)
- js event.keyCode (1)
- java获取汉子首字母 (1)
- Eclipse GC log (1)
- java轻量级httpserver (1)
最新评论
-
smilea001:
我知道了,作者采用的是gbk编码,我采用的是utf-8编码,
java获取汉子首字母 -
smilea001:
我输入的也是--
java获取汉子首字母 -
di1984HIT:
写的不错啊。
Router路由 -
kaixinyou:
...
2011.07.20——— android 获得当前view在屏幕的坐标 -
zhengjianbo:
你好,可以将你的实现代码公布下吗!万分感谢!
毛笔效果简单思路
<p>一、ibatIS调用存储过程(调用存储过程,统一使用StoredProcedure.xml)<br><br>
1.SaleManagerAction代码:<br>
/**<br>
?* 导入单边<br>
?* @return<br>
?* @author? Invalid<br>
?* @throws Exception <br>
?* @date 2011-11-9 上午09:46:51<br>
?*/<br>
public String importUnilateralSaleUpload() throws Exception{<br>
??? Map<String,Object> result = new HashMap<String,Object>();<br>
??? String uid = getUserId();<br>
??? if(StringUtils.isEmpty(uid) || qqfile == null){<br>
??? ??? result.put("success", false);<br>
??? ??? result.put("message", "3014");<br>
??? ??? outPrint(JSON.toJSONString(result));<br>
??? ??? return null;<br>
??? }<br>
??? try{<br>
??? ??? Workbook workBook = getWorkbook(new FileInputStream(qqfile));<br>
??? ??? if(workBook!=null){<br>
??? ??? ??? Sheet sheet = workBook.getSheetAt(0);<br>
??? ??? ??? Iterator<Row> it = sheet.iterator();<br>
??? ??? ??? importTotalNum = (sheet.getLastRowNum()+1);<br>
??? ??? ??? List<Map<String,Object>> importList = new ArrayList<Map<String,Object>>();<br>
??? ??? ??? Row row = null;<br>
??? ??? ??? Map<String,Object> temp = null;<br>
??? ??? ??? String date = null;<br>
??? ??? ??? try{<br>
??? ??? ??? ??? while(it.hasNext()){<br>
??? ??? ??? ??? ??? row = it.next();<br>
??? ??? ??? ??? ??? temp = new HashMap<String,Object>();<br>
??? ??? ??? ??? ??? temp.put("employeeId", uid);<br>
??? ??? ??? ??? ??? temp.put("phone", String.format("%.0f", row.getCell(0).getNumericCellValue()));<br>
??? ??? ??? ??? ??? temp.put("money", row.getCell(1).getNumericCellValue());<br>
??? ??? ??? ??? ??? date = row.getCell(2).getStringCellValue();<br>
??? ??? ??? ??? ??? temp.put("refundDate", DateUtils.parseDate(date, DATEFORMAT));<br>
??? ??? ??? ??? ??? importList.add(temp);<br>
??? ??? ??? ??? }<br>
??? ??? ??? }catch(Exception e){<br>
??? ??? ??? ??? result.put("message", "3013");<br>
??? ??? ??? ??? result.put("success", false);<br>
??? ??? ??? ??? log.error("SaleManagerAction importUnilateralSaleUpload:"+uid+","+qqfile.getName(), e);<br>
??? ??? ??? ??? outPrint(JSON.toJSONString(result));<br>
??? ??? ??? ??? return null;<br>
??? ??? ??? }<br>
??? ??? ??? <br>
??? ??? ??? List<Map<String,Object>> importErrorList = new ArrayList<Map<String,Object>>();<br>
??? ??? ??? Map<String,Object> presult = null;<br>
??? ??? ??? String code = null;<br>
??? ??? ??? for( Map<String,Object> saleImport : importList )<br>
??? ??? ??? {<br>
??? ??? ??? ??? presult = saleManager<br>
??? ??? ??? ??? ??? .updateSaleUnilateralStateLoad(<br>
??? ??? ??? ??? ??? ??? ??? (String)saleImport.get("employeeId"), <br>
??? ??? ??? ??? ??? ??? ??? (String)saleImport.get("phone"),<br>
??? ??? ??? ??? ??? ??? ??? (Double)saleImport.get("money"),<br>
??? ??? ??? ??? ??? ??? ??? (Date)saleImport.get("refundDate"));<br>
??? ??? ??? ??? code = (String) presult.get("p_err_code");<br>
??? ??? ??? ??? if( "0".equals(code))//退款成功<br>
??? ??? ??? ??? ??? importSuccess++;<br>
??? ??? ??? ??? if("-11".equals(code))//退款重复<br>
??? ??? ??? ??? ??? importRepeat++;<br>
??? ??? ??? ??? if("-21".equals(code)){//退款失败<br>
??? ??? ??? ??? ??? importError++;<br>
??? ??? ??? ??? ??? importErrorList.add(saleImport);<br>
??? ??? ??? ??? }<br>
??? ??? ??? }<br>
??? ??? ??? result.put("importTotalNum", importTotalNum);<br>
??? ??? ??? result.put("importSuccess", importSuccess);<br>
??? ??? ??? result.put("importRepeat", importRepeat);<br>
??? ??? ??? result.put("importError", importError);<br>
??? ??? ??? result.put("importErrorList", importErrorList);<br>
??? ??? ??? result.put("success", true);<br>
??? ??? }else{<br>
??? ??? ??? result.put("message", "3015");<br>
??? ??? ??? result.put("success", false);<br>
??? ??? }<br>
??? ??? log.info(uid+" Upload UnilateralSale Excel File:"+qqfile.getName()+",State:"+result.get("success"));<br>
??? }catch(Exception e){<br>
??? ??? result.put("success", false);<br>
??? ??? log.error("SaleManagerAction importUnilateralSaleUpload:"+uid+","+qqfile.getName(), e);<br>
??? }<br>
??? outPrint(JSON.toJSONString(result));<br>
??? return null;<br>
}<br>
===============================================================================================================================<br><br>
2.SaleManagerServiceImpl:<br>
@Override<br>
public Map<String, Object> updateSaleUnilateralStateLoad(String employeeId,<br>
??? ??? String phone, Double money, Date refundDate) {<br>
??? Map<String, Object> model = new HashMap<String, Object>();<br>
??? model.put("p_employee_id", employeeId);<br>
??? model.put("p_phone", phone);<br>
??? model.put("p_money", money);<br>
??? model.put("p_refund_date", refundDate);<br>
??? phoneSaleDao.updateSaleUnilateralStateLoad(model);<br>
??? return model;<br>
}<br><br>
3.PhoneSaleDAOImpl:<br>
@Override<br>
public void updateSaleUnilateralStateLoad(Map<String, Object> model) {<br>
??? getSqlMapClientTemplate().queryForObject("StoredProcedure.updateSaleUnilateralStateLoad",model);<br>
}<br><br>
4.StoredProcedure.xml(sqlMap文件):<br>
<?xml version="1.0" encoding="UTF-8" ?><br>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd" ><br><br>
<sqlMap namespace="StoredProcedure"><br>
??? <!-- updateSaleUnilateralStateMap 更新业务退款状态 --><br>
??? <parameterMap class="map" id="updateSaleUnilateralStateLoadMap"><br>
??? ? ??? <parameter property="p_employee_id"??? jdbcType="VARCHAR" ??? javaType="java.lang.String" mode="IN" /><br>
??? ? ??? <parameter property="p_phone"??? ??? jdbcType="VARCHAR"??? javaType="java.lang.String" mode="IN" /><br>
??? ? ??? <parameter property="p_money"??? ??? jdbcType="DOUBLE"??? javaType="java.lang.Double" mode="IN" /><br>
??? ? ??? <parameter property="p_refund_date"??? jdbcType="DATE"??? ??? javaType="java.util.Date" ??? mode="IN" /><br>
??? ? ??? <parameter property="p_err_code"??? jdbcType="VARCHAR"??? javaType="java.lang.String" mode="OUT" /><br>
??? ? ??? <parameter property="p_err_info"??? jdbcType="VARCHAR"??? javaType="java.lang.String" mode="OUT" /><br>
??? </parameterMap><br>
??? <procedure id="updateSaleUnilateralStateLoad" parameterMap="updateSaleUnilateralStateLoadMap">? <br>
??? ??? {CALL SP_PHONE_REFUND_LOAD(?,?,?,?,?,?)}<br>
??? </procedure><br>
</sqlMap></p>
<p>?</p>
<p>?</p>
<p>?</p>
<ul>
<li><a href="http://dl.iteye.com/topics/download/6e4f916d-14b6-33d8-a7a4-1809fbe0388c">ibatIS调用存储过程.zip</a> (13.1 KB)</li>
<li>下载次数: 0</li>
</ul>
发表评论
-
java轻量级httpserver
2012-02-08 11:48 1614httpclient+httpserver demo ... -
Eclipse GC log
2012-02-04 16:59 1456为了查看Eclipse GC log,需要在eclip ... -
java获取汉子首字母
2012-02-03 09:14 1550public class StringUtil { ... -
js event.keyCode
2012-02-03 09:09 1238<span style="" ... -
memcache安装
2012-02-02 12:04 1193? <blockquote> 1. ... -
C3P0配置
2012-02-02 11:34 1016cquireIncrement[3] ... -
Linux启动过程(详细说明)
2012-02-01 09:09 1611<div class="post ... -
Hibernate面向对象的hql语句
2012-01-11 13:14 1025Hibernate中hql条件语句的书写方式有: ? ... -
Hibernate实体对象的三种状态
2012-01-11 12:59 1303<p style="text- ... -
linux开机启动脚本的顺序
2011-12-21 15:14 1152下开机自动启动脚本所涉及的知识和方法、如下: ... -
DB2 静默安装
2011-12-21 11:59 1087<span style="color: ... -
Qt之美(一):d指针/p指针详解
2011-12-20 15:14 2027[/b]2011.11.16 [size=18px;] ... -
android手机通讯录备份还原代码
2011-12-20 11:54 2974<span style="font-f ... -
终于稍微完整的学习了一下Linux
2011-12-19 12:14 1199Linux以前也装过两次,不过几乎没去用。头几天看一些 ... -
Router路由
2011-12-19 10:54 1210Router路由:设定线的轨迹,在Connection ... -
基于记录登陆信息的防止网页暴力破解方法
2011-12-17 10:49 1456对黑客方面比较感兴趣的或者是比较熟悉的,应该知道溯雪这 ... -
成功通过DB2的700和701考试
2011-12-16 17:27 888嘿嘿,原以为比较没有信心的701考试也被俺成功的攻克了 ... -
想到目前各BLOG站点和搜索引擎的一点点缺陷
2011-12-15 15:54 902感觉无聊,就到中国博客网的首页逛了逛,想看看有没有什么 ... -
MapInfo2005年第三期电子新闻
2011-12-15 10:49 936<span lang="EN-US&q ... -
极限编程(XP)的重构与设计模式
2011-12-14 20:58 1488</span></span>& ...
相关推荐
在Java开发中,iBATIS(现在被称为MyBatis)是一个流行的数据持久层框架,它允许开发者将SQL语句直接嵌入到Java代码中,从而简化数据库操作。...希望这个示例能帮助你更好地理解iBATIS调用存储过程的方法。
首先,理解iBATIS调用存储过程的基本原理。iBATIS允许开发者在映射文件中定义存储过程调用,通过`<procedure>`标签来实现。在这个例子中,我们看到一个名为`P_DJ_GETRYANDPYRBYRYID`的存储过程被调用,它接受三个...
根据提供的文件信息,标题为“ibatis调用存储过程”,主要关注的是如何使用ibatis框架来调用数据库中的存储过程。下面将详细解释ibatis框架的基本概念、存储过程的概念以及如何在ibatis中配置和执行存储过程。 ### ...
本文将详细介绍如何使用iBATIS调用存储过程,并提供一个简单的示例来说明其过程。 首先,我们需要在数据库中创建一个存储过程。以下是一个Oracle数据库中的存储过程示例: ```sql CREATE OR REPLACE PROCEDURE pp ...
iBatis调用存储过程
### Ibatis调用存储过程详解 #### 一、引言 在实际的软件开发过程中,存储过程因其执行效率高及数据库级别的安全性等优点被广泛应用于各种业务场景之中。而对于使用Ibatis作为持久层框架的应用来说,如何有效地...
ibatis调用oracle存储过程分页
本文将深入探讨如何使用iBatis调用存储过程并返回游标,这是一个在处理复杂数据库操作时常见的需求。 ### iBatis调用存储过程返回游标 #### 存储过程简介 存储过程是预先编译并存储在数据库中的SQL代码块,它可以...
最后,在Java代码中,通过ibatis的Session对象调用存储过程,传入必要的参数,处理返回的结果集。 ```java SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(Resources....
#### 使用Ibatis调用存储过程 Ibatis是一个Java持久层框架,它能够简化Java应用程序与数据库之间的交互。为了调用上述存储过程并正确处理返回值,我们需要进行以下配置: ##### 日志配置(log4j.properties) ```...
在实际项目中,使用Ibatis调用存储过程时,还应注意以下几点: 1. 不同的数据库系统可能有不同的存储过程调用语法,如Oracle、MySQL、SQL Server等,需要根据具体数据库进行调整。 2. 存储过程中的输出参数在Java...
"IBatis查删改查与调用存储过程 mysql数据库" 这个标题揭示了本文将深入探讨如何使用IBatis框架在MySQL数据库中执行基本的CRUD(创建、读取、更新、删除)操作,以及如何调用存储过程。IBatis是一个轻量级的Java持久...
学习这两份文档,开发者不仅可以理解iBATIS的基本工作原理,还能掌握如何高效地利用iBATIS调用存储过程,提高数据库操作的灵活性和性能。对于Java开发者,尤其是从事Web应用开发的人员,深入理解和熟练运用iBATIS是...
调用存储过程: ```java Map, Object> params = new HashMap(); params.put("id", id); sqlSession.execute("updateEmployeeStatus", params); String status = (String) params.get("status"); ``` 5. **...
在这个项目中,我们结合了Spring框架、Ibatis持久层框架以及Blazeds技术,来演示如何调用存储过程并处理返回的结果集。下面将详细讲解这些技术的运用。 首先,J2EE是一种广泛用于开发分布式企业应用的平台,它提供...
本篇文章将详细探讨如何在iBatis中调用Oracle的函数和存储过程,尤其是处理IN和OUT参数以及游标的场景。 首先,我们需要了解iBatis的基本工作原理。iBatis是一个SQL映射框架,它允许开发者将SQL语句写在XML配置文件...
2. **iBatis调用存储过程**: iBatis允许开发者直接调用数据库的存储过程。在XML映射文件中,使用`<procedure>`标签来定义存储过程的调用,指定存储过程的名称和参数。存储过程的输入和输出参数通过`<parameterMap>...
在IT行业中,数据库操作是不可或缺的一部分,而IBatis作为一款流行的数据映射框架,提供了一种灵活的方式来处理SQL语句,包括调用存储过程。存储过程是数据库中预编译的SQL语句集合,可以提高性能、增强安全性,并...