- 浏览: 94780 次
- 性别:
- 来自: 北京
最新评论
-
flyhaoheng:
在JAVA程序中应该怎么调用?
IP地址、手机归属和身份证查询接口 -
yobuke:
谢谢!
Thinking in UML 读后感 -
yangleilt:
还是不太明白
james邮件服务器配置详解 -
streamfly:
你好,我的openfire用的3.6.4,按照你上篇和这篇帖子 ...
openfire3.6.2集成现有系统用户 -
onhp:
我连的是oracle数据库,怎么设置数据库连接属性?
openfire3.6.2集成现有系统用户
第一步:映射文件配置。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd" >
<sqlMap namespace="ROP">
<typeAlias alias="ROP" type="com.sgai.sm.entity.ROP"/>
<resultMap id="ROPResult" class="ROP">
<result property="sid" column="SID" jdbcType="NUMERIC"/>
<result property="createdBy" column="CREATED_BY" jdbcType="VARCHAR"/>
<result property="createdDt" column="CREATED_DT" jdbcType="TIMESTAMP"/>
<result property="version" column="VERSION" jdbcType="NUMERIC"/>
<result property="updatedBy" column="UPDATED_BY" jdbcType="VARCHAR"/>
<result property="updatedDt" column="UPDATED_DT" jdbcType="TIMESTAMP"/>
<result property="remarks" column="REMARKS" jdbcType="VARCHAR"/>
<result property="taskCounter" column="TASK_COUNTER" jdbcType="VARCHAR"/>
<result property="msgCounter" column="MSG_COUNTER" jdbcType="NUMERIC"/>
<result property="areaId" column="AREA_ID" jdbcType="VARCHAR"/>
<result property="stationNumber" column="STATION_NUMBER" jdbcType="VARCHAR"/>
<result property="msgTimeStamp" column="MSG_TIME_STAMP" jdbcType="TIMESTAMP"/>
<result property="sampleStatus" column="SAMPLE_STATUS" jdbcType="NUMERIC"/>
<result property="heatId" column="HEAT_ID" jdbcType="VARCHAR"/>
<result property="ironPretreatmentId" column="IRON_PRETREATMENT_ID" jdbcType="VARCHAR"/>
<result property="ironId" column="IRON_ID" jdbcType="VARCHAR"/>
<result property="sampleTime" column="SAMPLE_TIME" jdbcType="TIMESTAMP"/>
<result property="sampleId" column="SAMPLE_ID" jdbcType="VARCHAR"/>
<result property="sampleNumber" column="SAMPLE_NUMBER" jdbcType="NUMERIC"/>
<result property="sampleStartTime" column="SAMPLE_START_TIME" jdbcType="TIMESTAMP"/>
<result property="sampleReleaseTime" column="SAMPLE_RELEASE_TIME" jdbcType="TIMESTAMP"/>
<result property="steelGrade" column="STEEL_GRADE" jdbcType="VARCHAR"/>
<result property="steelGroup" column="STEEL_GROUP" jdbcType="VARCHAR"/>
<result property="caId" column="CA_ID" jdbcType="VARCHAR"/>
<result property="archiveTmstmp" column="ARCHIVE_TMSTMP" jdbcType="TIMESTAMP"/>
<result property="treatmentCounter" column="TREATMENT_COUNTER" jdbcType="NUMERIC"/>
<result property="msgFlag" column="MSG_FLAG" jdbcType="VARCHAR"/>
</resultMap>
<parameterMap id="test" class="java.util.HashMap">
<parameter property="result" jdbcType="ORACLECURSOR" javaType="java.sql.ResultSet" mode="OUT" resultMap="ROPResult" />
<parameter property="STANO" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
<parameter property="AREA" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
<parameter property="heatid" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
</parameterMap>
<procedure id="testCur" parameterMap="test">
{?= call GM_Test(?,?,?)}
</procedure>
</sqlMap>
第二步:编写oracle的函数
CREATE OR REPLACE FUNCTION TMSDEV.GM_Test(STANO VARCHAR2,AREA VARCHAR2,heatid VARCHAR2
)RETURN SYS_REFCURSOR
is
-- strsql1 varchar2(500):='';
-- type SYS_REFCURSOR is ref cursor;
type_cur SYS_REFCURSOR;
BEGIN
OPEN type_cur FOR
select * from tms_rop_iface_element_main WHERE AREA_ID=AREA AND STATION_NUMBER=STANO
AND HEAT_ID=heatid;
RETURN type_cur;
-- close type_cur;
END;
/
第三步:测试方法:
public class ROPDaoImpl extends IBatisGenericDaoImpl<ROP> implements ROPDao {
/* (non-Javadoc)
* @see com.sgai.sm.dao.ROPDao#getRecords(java.util.Map)
*/
public List<ROP> getRecords(Map map) {
return (List<ROP>)this.getSqlMapClientTemplate().queryForObject("ROP.testCur", map);
}
}
第四步:单元测试成功!
public class ROPServiceTest extends BaseSpringTest {
private ROPService rOPService;
public ROPServiceTest() throws Exception {
super();
// TODO Auto-generated constructor stub
}
public void onSetUp() throws Exception {
super.onSetUp();
rOPService = (ROPService) this.findBean("rOPService");
// 获取bean对象
}
public void prepareData() {
Map<String, Object> p = new HashMap<String, Object>();
p.put("STANO", "2");
p.put("AREA", "CAS");
p.put("heatid", "10500474");
rOPService.getRecords(p);
List list = (List) p.get("result");
for (int i = 0; i < list.size(); i++) {
ROP emp = (ROP) list.get(i);
System.out.println(emp.getHeatId());
}
}
public void testFind() {
prepareData();
}
}
第五步:测试结果
0123506
0123507
发表评论
-
oracle行转列
2014-12-02 16:01 597在写一些复杂的SQL的时候,经常需要使用到行变列的技巧,一些帐 ... -
oracle创建DB_link
2013-09-02 15:10 617create database link TTMS conne ... -
将Oracle中的表构造导出到word
2013-01-08 10:49 847将Oracle中的表结构导出到word 写开发文档时要用到数 ... -
Oracle 10g schedule job的常用操作
2012-05-10 22:05 821-- job 权限 grant cre ... -
oracle数据表闪回技术
2012-04-09 20:25 788第一步: show parameter undo --显示数 ... -
PL_SQL程序打包
2012-04-01 10:53 682PL/SQL 可以让我们把逻辑相关的类型、变量、游标和子程序放 ... -
存储过程异常处理
2012-04-01 10:47 698子程序很像一段小型的程序,由可选的声明部分,执行控制部分和可选 ... -
Oracle数据库的闪回技术
2012-01-03 10:07 25show parameter undo --显示数据库的闪回 ... -
开发软件常用工具包
2011-12-02 19:25 6431、jxls不错的处理excle工具包。 http://jxl ... -
查看Oracle执行计划的几种方法
2011-11-05 20:55 816一、通过PL/SQL Dev工具 1、直接Fil ... -
tomcat内存溢出的三种情况
2011-11-05 17:48 1139Tomcat内存溢出的原因 ... -
啤酒与尿布的故事
2011-08-30 12:59 1201(转)对于啤酒与尿 ... -
思维DW架构设计中的数据流架构规划
2011-08-30 12:56 1134数据仓库的架构看起 ... -
DB2的备份与恢复
2011-08-04 14:56 7941\ 数据库备份DB2 备份命令允许您在该命令执行时获取一个您 ... -
DB2递归查询
2011-07-05 15:28 1242在db2可以使用sql语句来进行递归查询,就是使用with语句 ... -
java实现文件转码
2011-05-11 22:57 1358非常好,解决了我的一个大问题。真是感谢。代码生成的java和j ... -
Group BY 的另一种写法
2011-04-20 19:39 769select * from temp_317 t1 执行 ... -
backup(自动备份数据库).cmd
2011-04-18 18:00 640if not exist %date:~0,4%%date: ... -
oracle常用视图查询
2011-01-27 23:13 980分析表 analyze table tablename com ... -
创建Oracle数据库
2011-01-24 21:30 787表空间CREATE SMALLFILE TABLESPACE ...
相关推荐
在Ibatis中调用Oracle函数和存储过程,你需要以下步骤: 1. **配置映射文件(Mapper XML)**: - 创建一个XML映射文件,定义SQL语句。对于函数,使用`<select>`标签;对于存储过程,使用`<procedure>`标签。 - 在...
确保正确配置Oracle驱动和数据源,以及正确处理异常,是成功调用Oracle函数和存储过程的关键。 通过学习和实践这些技巧,开发者可以充分利用iBatis的优势,高效地在Java应用中调用Oracle的函数和存储过程,提高代码...
添加对Oracle 的引用,如Oracle.DataAccess.Client,然后将Ibatis.net 的相关配置文件和Mapper XML文件加入到项目中。使用VS2008的调试工具,可以快速测试SQL语句和业务逻辑。 【示例应用】 "IbatisTet" 可能是一个...
3. **存储过程调用**:Ibatis可以通过`<select>`、`<procedure>`元素调用Oracle的存储过程,增强业务逻辑的封装性。 4. **连接池管理**:Ibatis可以与各种连接池(如C3P0、Druid、HikariCP等)集成,提高数据库连接...
"Ibatis连接Oracle的分页"是指利用Ibatis作为数据访问层,与Oracle数据库进行交互,并实现了分页查询功能。Oracle数据库支持多种分页方式,如ROWNUM伪列、ROWNUM配合子查询、ROW_NUMBER()窗口函数等。在这个项目中,...
通过这个实例,你可以学习如何在Ibatis中配置Oracle数据库,如何编写SQL映射文件,以及如何在Java代码中使用Mapper接口进行数据操作。同时,对于Oracle的使用也会有更深入的理解,例如如何处理Oracle特有的数据类型...
例如,对于Oracle,可以调用序列函数获取新的主键值。 4. **存储过程** Ibatis 支持调用数据库的存储过程。通过 `<procedure>` 元素,可以定义存储过程的调用,并通过 `<parameterMap>` 定义输入输出参数。在存储...
### 访问存储过程(或函数)通过IBATIS中的Procedure标签定义Statement 在IBATIS框架中,访问数据库中的存储过程或者函数是一项常见的需求。本文将深入探讨如何利用IBATIS提供的`procedure`标签来定义这样的操作,...
Spring 框架是 Java 开发中的一个全面解决方案,它不仅提供了 IoC(Inversion of Control)和 AOP(Aspect-Oriented Programming)功能,还涵盖了数据访问、Web 应用开发、事务管理等多个方面。Spring 2.5 版本在此...
标题“struts2+spring+ibatis+oracle+CURD”揭示了这是一个关于使用四大开源框架(Struts2、Spring、iBatis)与Oracle数据库进行基础数据操作(CRUD:创建、读取、更新、删除)的项目。在这个项目中,Struts2作为MVC...
在存储过程中,我们可以定义接受数组作为参数的函数。例如,以下是一个接受整数数组作为参数的PostgreSQL存储过程: ```sql CREATE OR REPLACE FUNCTION "public"."func_arr_update"(ids _int4) RETURNS "pg_...
它接收FormBean传来的数据,进行处理后,决定下一步的动作(如转向新的页面或返回错误信息)。 #### Action的生命周期解析 Action对象的生命周期包含四个阶段: 1. **加载和实例化**:当请求到达时,Action...
4. **处理结果集**:如果查询操作返回结果集,则需要使用ResultSet对象遍历数据。 5. **关闭资源**:最后记得关闭所有打开的资源,包括ResultSet、Statement和Connection。 #### 5. Struts框架的基本原理 Struts是...
24. **C++特性**:理解C++中的static关键字、虚函数、多态、抽象类、静态成员和成员函数等概念,以及它们在面向对象编程中的作用。 25. **Oracle错误查看**:通过查看Oracle的错误日志(如alert.log)或使用`SQL*...
11.5.8. 使用SimpleJdbcCall调用内置函数 11.5.9. 使用SimpleJdbcCall返回的ResultSet/REF Cursor 11.6. 用Java对象来表达JDBC操作 11.6.1. SqlQuery类 11.6.2. MappingSqlQuery类 11.6.3. SqlUpdate类 11.6.4...
- **POST**:数据通过请求体发送,不显示在URL中,适合传输大量或敏感数据。 ##### Java多态的具体体现 - **继承**:子类可以覆盖父类的方法。 - **接口实现**:一个类可以通过实现多个接口来展示不同的行为。 - *...
16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决; 123 17.介绍一下Hibernate的二级缓存 123 18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message ...
11.5.8. 使用SimpleJdbcCall调用内置函数 11.5.9. 使用SimpleJdbcCall返回的ResultSet/REF Cursor 11.6. 用Java对象来表达JDBC操作 11.6.1. SqlQuery类 11.6.2. MappingSqlQuery类 11.6.3. SqlUpdate类 11.6.4...
- **JavaEE**: Java企业版,包括JNDI(Java命名与目录接口)、RMI(远程方法调用)、JTA(Java事务API)、JMS(Java消息服务)等高级特性。 - **J2ME**: Java微版,适用于移动设备等资源受限环境。 ##### 2. Java...
24. 写一个用jdbc连接并访问oracle数据的程序代码 121 25、Class.forName的作用?为什么要用? 121 26、大数据量下的分页解决方法。 121 27、用 JDBC 查询学生成绩单, 把主要代码写出来(考试概率极大). 122 28、这段...