- 浏览: 584395 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (268)
- ext基础 (72)
- Java基础 (68)
- jquery (14)
- oracle (21)
- sqlserver (7)
- linux (2)
- webserver (1)
- C/C++ (1)
- sql (9)
- IDE (2)
- java 智能卡 (1)
- mysql (6)
- ibatis (2)
- struts2 (3)
- cvs (1)
- 服务器 (1)
- html (11)
- freemarker (4)
- liferay (2)
- jMS (1)
- iphone (1)
- c# (1)
- Android (11)
- wince (6)
- javascript (4)
- ps (1)
- hibernate (1)
- 其他 (3)
最新评论
-
ilyq:
请问,px.gif 在哪里
斜线表头 -
jisang:
没看懂,第一个org.js和最后的js什么关系,可否发我一份完 ...
用ExtJS 实现动态载入树(Load tree) -
JavaStudyEye:
我去,能否搞个正确点的,,,
<#list ...
freemarker 遍历map 对象 -
PangSir:
大爱,简直是大爱!!困扰这么久以来的问题,虽然知道是CSS的问 ...
ExtJs checkbox radiobox 问题 汇总 -
skynet_java:
有demo嘛!邮箱:think_world@foxmail.c ...
消息推送服务需求 - 服务器开发、客户端开发
Ibatis调用存储过程
procedure.xml的ibatis配置文件如下:
JAVA调用实现PermissionDAOIbatisImpl.java如下:
存储过程的实现代码,嘿嘿。完全不了解,以后有机会学习一下存储过程
procedure.xml的ibatis配置文件如下:
<?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="PROCEDURE"> <!-- - ======================================================= - 授权用户某个设备得权限 - ======================================================= --> <parameterMap class="map" id="proPermissionDevicePerson"> <parameter property="deviceId" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/> <parameter property="deviceType" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/> <parameter property="permissionType" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/> <parameter property="userId" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/> <parameter property="result" jdbcType="VARCHAR" javaType="java.lang.String" mode="OUT"/> </parameterMap> <procedure id="shareDeviceToPerson" parameterMap="proPermissionDevicePerson"> <![CDATA[ {call share_dev_prv_to_person (?,?,?,?,?)} ]]> </procedure> </sqlMap>
JAVA调用实现PermissionDAOIbatisImpl.java如下:
// 授权设备给用户 public static final String SHARE_DEVICE_TO_PERSON = "PROCEDURE.shareDeviceToPerson"; /** * 授权某个设备给某个用户 * @param userPermission */ public boolean shareDeviceToPerson(UserPermission userPermission) { Map map = new HashMap(); boolean flag = false; map.put("deviceId", userPermission.getDeviceId()); map.put("deviceType", userPermission.getDeviceType()); map.put("userId", userPermission.getUserId()); map.put("permissionType", userPermission.getPermissionType()); try { getSqlMapClientTemplate().insert(SHARE_DEVICE_TO_PERSON, map); String result = (String) map.get("result"); //得到返回值 if (StringUtil.isNotBlank(result) && "2".equalsIgnoreCase(result)) { flag = true; } } catch (Exception e) { throw new DaoException("DAOException: " + e); } return flag; }
存储过程的实现代码,嘿嘿。完全不了解,以后有机会学习一下存储过程
create or replace procedure share_dev_prv_to_person(deviceId in varchar2, type in varchar2, permission in varchar2, userId in varchar2, result out varchar2) as /** deviceId 设备id tyoe 设备类型 permission 权限类型 userId 用户id */ v_role_id varchar2(31); v_organ_id varchar2(31); v_permission_id varchar2(31); v_type varchar2(31); v_permission_type varchar2(200); v_is_exists int; begin result := '1'; select encodeID(TROLE_SEQ.nextval) into v_role_id from dual; --convert type if type = 1 then v_type := 'general_camera_vic'; elsif type = 2 then v_type := 'ip_camera_vic'; elsif type = 3 then v_type := 'alarm_input_channel'; elsif type = 4 then v_type := 'alarm_output_channel'; end if; --convert permission type if permission = 1 then v_permission_type := 'vic_realtime_video_play_operation'; elsif permission = 2 then v_permission_type := 'aic_operation'; elsif permission = 3 then v_permission_type := 'aoc_open_close_operation'; end if; -- insert role begin select id into v_role_id from T_ROLE where F_NAME = deviceId || '角色' || type || '_' || permission; select 1 into v_is_exists from permission pp, T_ROLE role, R_USER_ROLE ru, R_ROLE_PERMISSION rrp where role.f_name = deviceId || '角色' || type || '_' || permission and ru.user_id = userId and rrp.ROLE_ID = role.id and rrp.PERMISSION_ID = pp.id; exception when No_data_found then dbms_output.put_line('no role founed!!'); select organ_id into v_organ_id from t_user where id = userId; INSERT INTO T_ROLE (ID, F_NAME, NOTE, ORGAN_ID, CREATE_PERSON) VALUES (v_role_id, deviceId || '角色' || type || '_' || permission, deviceId || '角色' || type || '_' || permission, v_organ_id, userId); -- grant role permission select id into v_permission_id from permission t where t.resource_id = deviceId and t.operation = v_permission_type and t.resource_type = v_type; INSERT INTO R_ROLE_PERMISSION (PERMISSION_ID, ROLE_ID) VALUES (v_permission_id, v_role_id); -- grant role to other person INSERT INTO R_USER_ROLE (ROLE_ID, USER_ID) VALUES (v_role_id, userId); end; commit; result := '2'; end;
发表评论
-
orcale 常用练习
2011-07-04 08:52 1078(ORACLE-E-001)员工信息综合查询 1. 用 sq ... -
oracle 过程update 不成功的一个原因
2011-04-01 17:08 1894今天一个同事写oracle 的存储过程遇到了一个问题, ... -
oracle 季度
2011-03-29 14:31 1043-- 本季度第一天 SELECT to_char(TRUNC ... -
数据库常用查询
2011-03-10 13:54 870http://wt871031.blog.163.com/bl ... -
ORACLE JOB INTERVAL 参数设置
2011-03-10 13:04 2509------------------------------- ... -
plsql 设置
2010-11-28 16:06 1077E:\oracle\NETWORK\ADMIN\tnsname ... -
oracle 常用函数
2010-09-09 22:16 10981。上月末天: SQL> select to_char( ... -
ibatis存储过程中,Oracle VARRAY自定义数据类型做IN参数的处理。
2010-09-06 17:07 1373(1)在oracle中有如下自定义数据类型。 create ... -
sql 语句
2010-09-06 15:49 1060select * from t where rownum ... -
导出表结构及数据
2010-06-09 21:58 978mssql2.rar -
过程1
2010-04-16 09:22 843create or replace procedure aut ... -
DECODE 实现表的转置
2010-04-15 21:50 2025数据库中的表是由列和 ... -
oracle 存储过程 一例
2010-04-15 16:53 1510CREATE OR REPLACE PACKAGE PY_PC ... -
存储过程 返回结果集
2010-04-15 12:55 1498配合oracle临时表, 使用存储过程来返回结果集的数据读 ... -
转:Oracle递归查询
2010-04-12 17:46 2006有的情况下,我们需要用递归的方法整理数据,这才程序中很容易做到 ... -
oracle 数据字典
2010-04-10 12:58 1005select ID,BH,e.dictmean as BM,S ... -
oracle date日期类型
2010-04-09 16:47 1368insert into table_income valu ... -
mysql oracle sql server 分页
2010-04-06 08:57 1204SQL server分页: Sql代码 select t ... -
视图实例
2010-03-23 16:00 925CREATE or REPLACE view view_wil ... -
存储过程返回结果集
2010-03-23 15:31 1405存储过程返回OUT参数的游标 例子:每个学生求平均值的存储过 ...
相关推荐
ibatis调用存储过程使用示例,处理带参数及无参数类型的存储过程,是一个不错的例子。
iBatis调用存储过程
IBATIS调用存储过程
ibatis调用存储过程.txt [removed] var share_info = {}; [removed]
用ibatis调用存储过程的介绍,使用java语言进行开发
NULL 博文链接:https://jun1986.iteye.com/blog/1290064
Ibatis中调用其它的SQL语句很容易,那么如何在Ibatis中调用存储过程呢?
ibatis调用oracle存储过程分页
ibatis调用oracle存储过程
Ibatis调用Oracle存储过程,返回自定义的类型。
ibatis调用oracle的函数,存储过程的方法,从网上收集的,还没有整理。
NULL 博文链接:https://pzh244658240.iteye.com/blog/1423681
使用J2EE+Spring+Ibatis+JDBC 调用存储过程,并返回结果集的配置详细。 供学习参考。
里面包含ibatis开发指南,以及介绍ibatis调用存储过程,分页封装以及缓存策略等内容
iBatis 1、Spring嵌套iBatis框架 2、iBatis调用存储过程 3、iBatis中设置动态表查询 4、提高iBATIS性能的几个注意点
ibatis增删查改,存储过程调用。包含表结构。
NULL 博文链接:https://fengtiejun.iteye.com/blog/1603851
使用ibatis基本配置及连接数据库 进行增删改查 存储过程及分页模拟 根据配置文件输出sql日志
ibatis入门教程及调用存储过程实例详解。