有时候业务逻辑会需要根据某个对象的主键来判断这个对象是否在数据库中存在,从而进行不同的逻辑处理。下面是一段示例代码。
String strOrderId =
"10001";
OrderAccessBean
abOrder = new OrderAccessBean();
abOrder.setInitKey_orderId(strOrderId);
try
{
abOrder.refreshCopyHelper();
//this means order
10001 exist, you can continue to use abOrder
System.out.print(abOrder.getDescription());
} catch (ObjectNotFoundException
e)
{
//this means order
10001 dose not exist, you need handle this case,
//you can decided to throw exeption or
ignore it because sometimes this is normal.
System.out.print("order 10001 dose not exist");
}
注意,只有ObjectNotFoundException
是可以cache后吞掉,其它的exception,如RemoteException,FinderException等等不能吞掉,需要转化成ECSystemException来抛出:
try {
//ejb related operations
...
} catch (javax.ejb.CreateException e) {
throw new ECSystemException(ECMessage._ERR_CREATE_EXCEPTION,
CLASS_NAME, methodName, ECMessageHelper
.generateMsgParms(e.toString()), e);
} catch (javax.ejb.FinderException e) {
throw new
ECSystemException(ECMessage._ERR_FINDER_EXCEPTION, CLASS_NAME, methodName,
ECMessageHelper
.generateMsgParms(e.toString()), e);
} catch (javax.naming.NamingException e) {
throw new ECSystemException(ECMessage._ERR_GENERIC,
CLASS_NAME, methodName, ECMessageHelper
.generateMsgParms(e.toString()), e);
} catch (java.rmi.RemoteException e) {
throw new
ECSystemException(ECMessage._ERR_REMOTE_EXCEPTION, CLASS_NAME, methodName,
ECMessageHelper
.generateMsgParms(e.toString()), e);
}
分享到:
相关推荐
首先,我们需要确保我们的表有一个或多个设置为唯一索引的字段,这些字段将用于判断记录是否重复。例如,如果我们有一个`ID`字段作为主索引,那么这个字段的值就必须是唯一的。如果尝试插入的记录中`ID`字段与已有...
例如,我们可以用`FileExist("sdcard/DatabaseName.db")`来判断“DatabaseName.db”数据库文件是否已存在。 2. **创建数据库**:如果数据库文件不存在,我们需要创建它。在E4A中,可以使用`SQLiteCreateDatabase`...
根据给定的信息,我们可以推断出本文主要关注的是在软件工程领域中,对数据库进行操作时常用的SQL语句。特别是涉及表结构修改的部分,如删除约束等操作。下面将详细介绍这些知识点。 ### 软件工程中的数据库操作 ...
### 数据库权限管理表设计详解 #### 引言 数据库权限管理是确保数据安全与合规性的关键环节。本文旨在深入探讨数据库权限管理表的设计方法,通过构建合理的表结构,实现对用户权限的有效控制。我们将从最基础的...
IS NOT NULL 运算符用于判断记录中的某个字段是否为 NULL。 14.主键建立方法 在 MySQL 中,主键可以使用 PRIMARY KEY 约束来建立。主键可以使用一列或多列来建立。 15.视图操作限制 在 MySQL 中,不能在视图上...
违反参照完整性的情况,如试图插入一个外键值在参照表中不存在的记录,也会被数据库拒绝。 完整性检查通常通过索引来加速,例如,对于主键的唯一性检查,DBMS会在主键上建立索引,使得查找过程更为高效。在插入或...
学分录入是关键,确保准确记录每个学期的必修和选修学分,以便判断学生是否满足毕业条件。 系统将用户划分为管理员、教师和学生三类,每类用户有不同的权限和功能,且用户只能以一种身份登录,增强了系统的安全性。...
在存在下列关键字的 SQL 语句中,不可能出现 Where 子句的是(D)。** - **A. Update**:更新语句可以包含 WHERE 子句来指定更新哪些行。 - **B. Delete**:删除语句也可以使用 WHERE 子句来指定删除哪些行。 - **...
6. 判断表是否存在并进行删除: `IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'employees')`检查'employees'表是否存在,存在则执行`DROP TABLE`命令。`sp_dboption`存储过程...
- **判断表的存在**:与检查表是否存在的方法类似。 ```sql SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[tablename]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1 ``` - **获取表的结构**:可以...
3),例如:在一个外部表中导入数据,由于某些原因第一次只导入了一部分,但很难判断具体位置,这样只有在下一次全部导入,这样也就产生好多重复的字段,怎样删除重复字段 alter table tablename --添加一个自增列 ...
3. 关系数据库表中的记录行顺序并不重要,数据库管理系统会根据索引或其他逻辑进行组织,而不是物理顺序。 4. 数据模型是数据库系统的基础,包括三个主要元素:数据结构(如表、字段等)、数据操作(如查询、更新等...
1. **创建数据库与判断数据库是否存在**: 使用`IF EXISTS`检查`sysdatabases`系统表中是否存在指定的数据库,如果不存在,则使用`CREATE DATABASE`语句创建新的数据库。在示例中,`database-name`应替换为实际的...
**判断是否有数据库和数据表**: 可以通过`IF EXISTS`和`SELECT`语句检查数据库或数据表是否存在。 8. **删除临时表**: `DROP TABLE`命令用于删除不再需要的临时表,临时表通常用于存储中间结果。 9-10. **创建...
1. **范围分区**:根据表中某一列的取值范围进行分区。 2. **散列分区**:根据散列函数的结果进行分区。 3. **复合分区**:结合范围分区和散列分区的特点,先按范围分区,再在每个范围内进行散列分区。 #### 四、...
6. 主码(Primary Key):主码是由一个或多个属性组成的,能够唯一标识数据库表中的一行记录,而不是一列。D选项正确描述了主码的性质。 7. 数据类型:在SQL中,表示短整型数据通常使用SMALLINT,对应选项D。 8. ...
在这个查询中,`COUNT(*)`计算记录数,`SUM()`求和,`AVG()`计算平均值。 **数据库操作基础** 在学习SQL的同时,了解一些基础的程序设计概念也是必要的。结构化程序设计,起源于20世纪70年代,强调单入口单出口、...
34. ISEXCLUSIVE(): 判断表或数据库是否以独占模式打开,这对于确保唯一访问非常关键。 35. ISFLOCKED(): 返回表是否被锁定,防止并发访问冲突。 36. ISREADONLY(): 判断表是否以只读方式打开,限制写入操作。 37...
主键约束(`PRIMARY KEY`)确保了每条记录的唯一性,而唯一约束(`UNIQUE`)则限制了特定列的重复值。 此外,表还可以包含外键约束,用于维护不同表之间的引用完整性。在【例6】中,创建了"Course"表,其中"Cno"为主键...