技术标签: Java与ibatis
Hibernate等提供了全面的数据库封装机制的“全自动化”ORM 实现,“全自动”ORM 实现了 POJO 和数据库表之间的映射,以及 SQL 的自动生成和执行。
ibatis是“半自动化”,并不会为程序员在运行期自动生成 SQL 执行。具体的 SQL 需要程序员编写,然后通过映射配置文件,将SQL所需的参数,以及返回的结果字段映射到指定 POJO。比较灵活给程序员更多的发挥空间。
以下代码使用ibatis-sqlmap-2.jar,在Windows的Tomcat里测试通过,在Linux下的Weblogic里测试通过。
一、使用ibatis调用Oracle存储过程
1、创建测试存储过程,名称:TestPro
CREATE OR REPLACE PROCEDURE TestPro(myLevel IN VARCHAR2, myResult out PLS_INTEGER) is
BEGIN
myResult:=0;
if myLevel = 'a' then
myResult:=0;
end if;
if myLevel = 'b' then
myResult:=-1;
end if;
if myLevel = 'c' then
myResult:=1;
end if;
END;
2、调用存储过程的SqlMap文件配置
<parameterMap id="testProParamMap" class="java.util.HashMap">
<parameter property="myLevel" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
<parameter property="myResult" jdbcType="NUMERIC" javaType="java.lang.Integer" mode="OUT" />
</parameterMap>
<procedure id="testOraclePro" parameterMap="TestProParamMap">
{call TestPro(?,?)}
</procedure>
3、调用存储过程的DAO层代码
public Object TestProDao(Map map) {
return getSqlMapClientTemplate().queryForObject("ticket.testOraclePro", map);
}
4、前台调用
Map mapPro = new HashMap();
mapPro.put("myLevel", "b");
Object rs=xxxxDao.TestProDao(mapPro);
LogUtil.debug("rs="+rs);
LogUtil.debug("myResult="+mapPro.get("myResult"));
结果:
rs=null
myResult=-1
从测试结果看,返回结果是在Map里,输出参数作为键来访问取得
二、使用ibatis调用Oracle函数
1、创建测试函数,名称:TestFun
CREATE OR REPLACE FUNCTION TestFun(myLevel IN VARCHAR2)
RETURN NUMBER AS
myResult PLS_INTEGER := 0;
BEGIN
if myLevel = 'a' then
myResult:=0;
end if;
if myLevel = 'b' then
myResult:=-1;
end if;
if myLevel = 'c' then
myResult:=1;
end if;
return myResult;
END;
2、调用函数的SqlMap文件配置
<parameterMap id="testFunParamMap" class="java.util.HashMap">
<parameter property="myResult" jdbcType="NUMERIC" javaType="java.lang.Integer" mode="OUT" />
<parameter property="myLevel" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
</parameterMap>
<procedure id="testOracleFun" parameterMap="TestFunParamMap">
{? = call TestFun(?)}
</procedure>
3、调用函数的DAO层代码
public Object TestFunDao(Map map) {
return getSqlMapClientTemplate().queryForObject("ticket.testOracleFun", map);
}
4、前台调用
Map mapFun = new HashMap();
mapFun.put("myLevel", "b");
Object rs=xxxxDao.TestProDao(mapFun);
LogUtil.debug("rs="+rs);
LogUtil.debug("myResult="+mapFun.get("myResult"))
结果:
bootstrap思维导图Bootstrap简介1.来自Twitter,是目前最流行的前端框架2.是基于HTMl,CSS,javascript的一个简洁灵活的开源框架,便于人员随时上手3.目前版本V3bootstrap受欢迎的原因1.快速制作响应的网页来适配各种终端2.开发简单,方便3.移动先行4.代码开源5.代码有良好是规范1.支持Internet Expore..._bootstrap form action
function [hist]=FHist(temp,D) % 此函数为提取区域目标色彩直方图% temp-目标区域% D-颜色空间位数% m_wei(i,j)-像素点权值贡献% hist-色彩直方图分布E=256/D;hist=zeros(1,D^3);[a,b,c]=size(temp);y(1)=a/2;y(2)=b/2;m_wei=zeros(a,b);%权值矩_粒子滤波目标跟踪算法matlab
今天分享移除List中NULL值的方法,因为在开发中有个需求遇到了,所以做了一下总结:针对于JDK7及以下版本可以使用如下的方法进行操作:public static void removeAllNullsFromList() { //利用Arrays类将一个数组转为list,然后将该list作为ArrayList的构造函数参数传入,创建ArrayList L..._arrayutils去除所有null
#include #include #include using namespace std; #define eps 0.001 int main() { int N; cin >> N; double N_f = ( double ) N; double lower = 0.0;
一、GUI是什么GUI的全称为Graphical User Interface,图形化界面或图形用户接口,是指采用图形方式显示的计算机操作环境用户接口。与早期计算机使用的命令行界面相比,图形界面对于用户来说更为简便易用。GUI的广泛应用是当今计算机发展的重大成就之一,它极大地方便了非专业用户的使用人们从此不再需要死记硬背大量的命令,取而代之的是通过窗口、菜单、按键等方式来方便地进行操作。而嵌入式GUI具有下面几个方面的基本要求:轻型、占用资源少、高性能、高可靠性、便于移植、可配置等特点。1、 不流行的主_java在图形界面的优势
解决方法是:检查自己在源文件中的函数实现过程的先后顺序是不是搞错了
互联网广告系统本身是一个对稳定性和可靠性要求极高的系统,每天面对数十亿级别的请求,广告投放主多样的投放方式变化与用户关注点及兴趣频繁的更新,同时对时效性要求严格,而作为电商广告的计费系统,则要求更加严格, 从打点到计费任何一环节出现问题,都会带来巨大的经济损失和平台信任度危机,涉及到商家账户资金,系统实时反作弊和防刷,亿级别点击(曝光)等高效稳定账务扣费,数据的强一致性和最终一致性的保证及全链路高..._广告系统的的稳定性
(ZZ from http://www.gridchina.org/~wfsun/blog/archives/000658.html)SIZEOF--------------------------------------------------------------------------------------------------------关键字:sizeof,字节对齐,多继承
文章目录相关查阅博客本书中错误勘误部分缩写熟知 + 小建议修改代码前的小闲聊修改loader.S(读取内存大小)检验是否成功读取内存大小开始分页新篇章的分页理解一级页表二级页表修改loader.S(开启分页)检验是否完成分页 进入虚拟内存时代修改Loader.S(加载内核)1、编写内核程序(main.c)2、从磁盘读入内核区代码3、修改Loader.S(转移内核代码 跳转至内核)1、新函数rd_disk_m_322、处理文件头elfLoader.S(全代码)+boot.inc(代码修改)结束语(第五章完结撒_jc .error_hlt
安装Win7系统时硬盘分区有学问更新时间:2009-11-10 来源:计算机应用网 现在已经到九月了,离Windows7正式发布仅仅有一个月的时间。随着RTM版本的发布,相信更多的朋友都已经体验并且喜欢上了这一款最新的操作系统,正在等待正式版的发布。安装一个新的系统,硬盘分区是最基础的一件事情,安装Windows7如何来分区,如何替原来的盘符
下面给大家带来的java编程题是和打印九九乘法表相关的内容,那么打印九九乘法表用java如何来编写呢?一起来了解一下吧!一、题目打印九九乘法表二、代码实现publicclassMultiplication_table{staticvoidmultiplication_table(){inti,j;for(i=1;i<=9;i++){for(j=1;j<...
目录A-眼花缭乱黑白配(CF 40A)B-寻找n边形(CF 45I)C-小孩子才做选择题(CF 1096C)D-其实并不难的博弈(CF 197A)E-简单的周长计算(CF 224A)F-有些巧妙的DP(CF 1452D)G-动物(CF 35D)H-序列排队(CF 1241D)I-立方体(CF 166E)J-~~下班快乐~~ 回家快乐 (CF 550C)A-眼花缭乱黑白配(CF 40A)链接: CF40A Find Color题意: 判断落点的颜色。题解: 签到题,咕。代码:#include&l_e - tcmcf+++