批量新增,table可多选操作 /** * 批量新增操作 * @param actionEvent */ public void addDialogListener(ActionEvent actionEvent) { try { List<Row> selectRows = ADFUtils.getTableSelectedRows(richTable); //选中的多行专业数据 if (selectRows.size() == 0) { Noty.error(ErrorStringKey.UNSELECTROW_TIPS); return; } String njdm = (String)ADFUtils.getSelectListValueOne("XtglJxdmjNjdmView1","Dm"); //年级代码 String xqdm = (String)ADFUtils.getSelectListValueOne("XqjbsjzlLov1","Xqdm"); //校区代码 String dwdm = (String)ADFUtils.getBoundAttributeValue("Ssdw");//单位基本信息代码 String zyfxdms = ""; for (Row row : selectRows) { String zyfxdm = (String)row.getAttribute("Zyfxdm"); zyfxdms += zyfxdm+","; } dmjServiceAMImpl am = (dmjServiceAMImpl)ADFUtils.findIterator("XtglNjzyxxbVO1Iterator").getViewObject().getApplicationModule(); String stmt = "BEGIN XTGL_NJZYXXB_ADD(?,?,?,?,?); END;"; java.sql.CallableStatement st = null; try { st = am.getDBTransaction().createCallableStatement(stmt, 0); st.setString(1, zyfxdms); //传入参数 st.setString(2, njdm); st.setString(3, xqdm); st.setString(4, dwdm); st.registerOutParameter(5, Types.NUMERIC); st.execute(); if(!st.getString(5).equals("0")){ ADFUtils.executeByOperation("Commit"); } ADFUtils.findIterator("XtglNjzyxxbVO1Iterator").executeQuery(); JSFUtils.refresh(table); JSFUtils.refresh(richToolbar); JSFUtils.addFacesInformationMessage(ErrorStringKey.formInternationString(ErrorStringKey.BATCH_SCUUESS) + "," + ErrorStringKey.formInternationString(ErrorStringKey.ADDNUM_TIPS) + st.getString(5)); } catch (java.sql.SQLException s) { s.printStackTrace(); throw new oracle.jbo.JboException(s); } finally { try { if (st != null) { st.close(); } } catch (java.sql.SQLException s2) { throw new oracle.jbo.JboException(s2); } } JSFUtils.closePopup(addPop);//成功后关闭pop } catch (Exception e) { log.severe(e); Noty.error(ErrorStringKey.OPERATOR_ERROR); } }
create or replace procedure XTGL_NJZYXXB_ADD(p_zyfxdms in varchar2, p_njdm in varchar2, p_xqdm in varchar2, p_dwdm in varchar2, count_num out number) is /** * 年级专业批量新增 * 2015年7月29日 p_zyfxdms 专业方向代码集 p_njdm 年级代码 p_xqdm 校区代码 p_dwdm 单位代码 */ count_start number; --记录批量插入前数量 count_end number; --记录批量插入后数量 begin select count(*) into count_start from xtgl_njzyxxb; --批量插入操作 INSERT INTO xtgl_njzyxxb (Njzydm, Njzymc, Nj, Zyfxdm, Sfxtzfx, Sfqy, Xqdm, Ssdw, Xz, Pyccm, Sfsd, Zdzt) SELECT p_njdm || Zyfxdm, p_njdm || Zyfxmc, p_njdm, Zyfxdm, Sfxtzfx, '1', p_xqdm, p_dwdm, Xz, Pycc, '0', '0' FROM XTGL_ZYFXXXSJZL WHERE zyfxdm not in (SELECT zyfxdm FROM xtgl_njzyxxb WHERE nj = p_njdm) and zyfxdm in --使用正则函数regexp_substr拆分字符串, eg将'1,2,3'拆分成'1','2','3'的集合。 (select regexp_substr(p_zyfxdms, '[^,]+', 1, rownum) from dual connect by rownum <= length(regexp_replace(p_zyfxdms, '[^,]', null))); --统计插入数量 select count(*) into count_end from xtgl_njzyxxb; count_num := count_end - count_start; end XTGL_NJZYXXB_ADD;
摘自:年级专业方向信息模块
相关推荐
3. **操作MBean**: 通过MBean Server,我们可以调用MBean的方法,修改其属性,或者获取其状态信息。 4. **通知服务**: MBean Server支持订阅和发布通知,当MBean的状态发生改变时,可以向注册的监听器发送通知。 5...
- **MBean持久化**:Model MBean允许设置保存和恢复MBean状态的存储策略,这使得在系统重启后能够恢复MBean的状态。 - **属性值缓存**:Model MBean可以缓存属性值,提高性能,特别是在频繁访问但更改不频繁的场景下...
- MBean 服务器作为 JMX 架构的核心组件,负责管理和存储 MBean 实例。 - 开发者可以通过 MBean 服务器注册、查询、管理 MBean 对象。 - MBean 服务器还提供了安全性和事务支持等功能。 - **JMX 在资源管理中的...
2. **数据源集成**:除了静态文件外,MBean Property Configurator还能连接到数据源获取配置信息,这在需要动态更新或数据库存储配置的情况下非常有用。 3. **XML节点配置**:通过解析XML节点来获取配置信息,使得...
- **MBean Server**:管理MBean的中心节点,负责MBean的注册、查询、调用其操作等功能。 - **MBeanInfo**:描述了MBean的属性、操作、构造器和通知信息。 - **Notification**:MBean发送的事件,用于向管理者报告...
JMX的核心思想是通过**MBeans**(Managed Beans)来表示可管理的资源,以及通过**MBean服务器**来存储和管理这些MBeans。 **GlassFish**是一个开源的应用服务器,它不仅支持Java EE标准,还引入了一系列增强功能,...
- **MBean Server**:管理MBean的核心,存储和操作MBeans,处理客户端请求。 - **管理客户端**:通过连接器与MBean Server交互,执行管理操作。 ### 3.2 JMX操作模型 JMX操作模型基于"查找、操作、通知"的概念: - ...
2. **MBean Server**:运行MBeans的容器,它负责实例化MBeans、执行它们的操作以及存储MBeans的信息。 3. **MBean信息对象**:描述MBean的属性、操作和通知,帮助MBean与外界交互。 4. **JMX连接器**:提供客户端...
1. **MBean Server**:这是JMX的核心组件,负责存储和管理MBeans,提供MBeans注册、查询和调用操作的接口。 2. **MBean**:MBean是管理资源的实体,可以是任何Java对象,只要遵循一定的规则,如公开构造函数、实现...
所有对MBeans的操作都通过MBean服务器进行,包括创建、删除、查询和调用MBean的方法。 ### 4. MBean代理 MBean代理是访问MBean服务器的一种方式,它提供了更抽象的接口,简化了对MBeans的操作。JMX API提供了`...
3. **操作 MBean**: 通过 MBean 服务器提供的 API 来操作已经注册的 MBeans,例如获取属性值或调用操作方法。 #### 构建基础:MBeans的基础概念 第三章深入探讨了 MBeans 的基础概念和技术细节。这包括了: 1. **...
MBean Server是JMX的核心,它负责存储和管理MBeans。开发者可以自定义MBean Server,但通常使用Java提供的内置实现。MBean Server提供了诸如查询、通知、生命周期管理和操作调用等基本功能。 5. JMX连接器和协议:...
在XML代码中,可以看到三个不同的`QueueService` MBean(管理 beans)被定义,它们分别对应于三个不同的消息队列:`webserviceconsumer1Esb`、`webserviceconsumer1EsbReply`和`webserviceconsumer1RequestGw`。...
2. **MBeanServer**:这是一个容器,用来存储和管理所有的 MBean。它负责接收来自客户端的请求,并将这些请求转发给相应的 MBean。 3. **连接器**:用于远程访问 MBeanServer 的组件。通过连接器,管理员可以从远程...
可以使用JConsole或其他工具进行可视化监控,或者通过编程方式调用MBean的方法。 4. **配置安全性和访问控制**:JMX支持安全性和访问控制,允许你限制哪些用户或角色可以访问特定的MBean。 5. **通知机制**:JMX还...
2. **数据存储**:为了避免数据混淆,每个JBoss实例的数据存储位置也应分开管理。 3. **日志文件**:每个实例的日志文件路径也应独立,以方便后期的日志管理和问题排查。 通过上述步骤,我们可以在一台机器上成功...
2. **栈内存管理**:每个线程都有一个独立的栈,用于存储方法调用帧,包括局部变量、操作数栈和方法返回地址。 3. **垃圾回收**:JVM自动进行垃圾回收,释放不再使用的对象所占用的内存。GC策略包括分代收集、标记-...
2. **适配层**:MBean服务器是JMX架构的核心,它负责注册MBeans,执行MBean操作,以及存储和检索MBean的信息。 3. **接入层**:提供了多种协议和API,使得管理者可以从本地或远程访问MBean服务器。 ### Standard ...
JProfiler的MBean浏览器允许开发者浏览和监控服务器应用程序中的MBean,提供了一种远程分析的方式。离线分析功能则允许开发者分析那些预先录制的数据,无需JVM持续运行。 高级CPU分析视图为开发者提供了多种视角来...