`

根据PrimaryKey判断某记录是否在数据库表中存在

阅读更多

有时候业务逻辑会需要根据某个对象的主键来判断这个对象是否在数据库中存在,从而进行不同的逻辑处理。下面是一段示例代码。


            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);
        }

分享到:
评论

相关推荐

    Mysql – 如果数据库表中的记录存在相同记录则不插入记录,反之插入。

    首先,我们需要确保我们的表有一个或多个设置为唯一索引的字段,这些字段将用于判断记录是否重复。例如,如果我们有一个`ID`字段作为主索引,那么这个字段的值就必须是唯一的。如果尝试插入的记录中`ID`字段与已有...

    创建数据库.rar_-baijiahao_E4A DB数据库_e4a创建目录_e4a数据库 图片_e4a数据库表格

    例如,我们可以用`FileExist("sdcard/DatabaseName.db")`来判断“DatabaseName.db”数据库文件是否已存在。 2. **创建数据库**:如果数据库文件不存在,我们需要创建它。在E4A中,可以使用`SQLiteCreateDatabase`...

    软件工程中常用数据库操作的SQL语句(2)

    根据给定的信息,我们可以推断出本文主要关注的是在软件工程领域中,对数据库进行操作时常用的SQL语句。特别是涉及表结构修改的部分,如删除约束等操作。下面将详细介绍这些知识点。 ### 软件工程中的数据库操作 ...

    数据库权限管理表设计的文章

    ### 数据库权限管理表设计详解 #### 引言 数据库权限管理是确保数据安全与合规性的关键环节。本文旨在深入探讨数据库权限管理表的设计方法,通过构建合理的表结构,实现对用户权限的有效控制。我们将从最基础的...

    MySQL数据库考试试题及答案-34页

    IS NOT NULL 运算符用于判断记录中的某个字段是否为 NULL。 14.主键建立方法 在 MySQL 中,主键可以使用 PRIMARY KEY 约束来建立。主键可以使用一列或多列来建立。 15.视图操作限制 在 MySQL 中,不能在视图上...

    数据库安全性PPT学习教案.pptx

    违反参照完整性的情况,如试图插入一个外键值在参照表中不存在的记录,也会被数据库拒绝。 完整性检查通常通过索引来加速,例如,对于主键的唯一性检查,DBMS会在主键上建立索引,使得查找过程更为高效。在插入或...

    学分管理数据库设计SQL

    学分录入是关键,确保准确记录每个学期的必修和选修学分,以便判断学生是否满足毕业条件。 系统将用户划分为管理员、教师和学生三类,每类用户有不同的权限和功能,且用户只能以一种身份登录,增强了系统的安全性。...

    2019sql数据库期末考试题及答案_数据库期末考试题及答案2018

    在存在下列关键字的 SQL 语句中,不可能出现 Where 子句的是(D)。** - **A. Update**:更新语句可以包含 WHERE 子句来指定更新哪些行。 - **B. Delete**:删除语句也可以使用 WHERE 子句来指定删除哪些行。 - **...

    数据库知识小结一些select语句的用法

    6. 判断表是否存在并进行删除: `IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'employees')`检查'employees'表是否存在,存在则执行`DROP TABLE`命令。`sp_dboption`存储过程...

    数据库建表操作SQL语句大全

    - **判断表的存在**:与检查表是否存在的方法类似。 ```sql SELECT * FROM sysobjects WHERE id = object_id(N'[dbo].[tablename]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1 ``` - **获取表的结构**:可以...

    数据库操作语句大全(sql)

    3),例如:在一个外部表中导入数据,由于某些原因第一次只导入了一部分,但很难判断具体位置,这样只有在下一次全部导入,这样也就产生好多重复的字段,怎样删除重复字段 alter table tablename --添加一个自增列 ...

    数据库SQL SERVER2011

    3. 关系数据库表中的记录行顺序并不重要,数据库管理系统会根据索引或其他逻辑进行组织,而不是物理顺序。 4. 数据模型是数据库系统的基础,包括三个主要元素:数据结构(如表、字段等)、数据操作(如查询、更新等...

    SQL语句和连接数据库.docx

    1. **创建数据库与判断数据库是否存在**: 使用`IF EXISTS`检查`sysdatabases`系统表中是否存在指定的数据库,如果不存在,则使用`CREATE DATABASE`语句创建新的数据库。在示例中,`database-name`应替换为实际的...

    计算机SQL数据库语句.pdf

    **判断是否有数据库和数据表**: 可以通过`IF EXISTS`和`SELECT`语句检查数据库或数据表是否存在。 8. **删除临时表**: `DROP TABLE`命令用于删除不再需要的临时表,临时表通常用于存储中间结果。 9-10. **创建...

    Oracle数据库中分区表的操作方法.doc

    1. **范围分区**:根据表中某一列的取值范围进行分区。 2. **散列分区**:根据散列函数的结果进行分区。 3. **复合分区**:结合范围分区和散列分区的特点,先按范围分区,再在每个范围内进行散列分区。 #### 四、...

    数据库技术数据库技术.doc

    6. 主码(Primary Key):主码是由一个或多个属性组成的,能够唯一标识数据库表中的一行记录,而不是一列。D选项正确描述了主码的性质。 7. 数据类型:在SQL中,表示短整型数据通常使用SMALLINT,对应选项D。 8. ...

    数据库中sql语句的课件

    在这个查询中,`COUNT(*)`计算记录数,`SUM()`求和,`AVG()`计算平均值。 **数据库操作基础** 在学习SQL的同时,了解一些基础的程序设计概念也是必要的。结构化程序设计,起源于20世纪70年代,强调单入口单出口、...

    Visual FoxPro数据库函数.docx

    34. ISEXCLUSIVE(): 判断表或数据库是否以独占模式打开,这对于确保唯一访问非常关键。 35. ISFLOCKED(): 返回表是否被锁定,防止并发访问冲突。 36. ISREADONLY(): 判断表是否以只读方式打开,限制写入操作。 37...

    数据库 学习 总结 人民大学出版社 王珊

    主键约束(`PRIMARY KEY`)确保了每条记录的唯一性,而唯一约束(`UNIQUE`)则限制了特定列的重复值。 此外,表还可以包含外键约束,用于维护不同表之间的引用完整性。在【例6】中,创建了"Course"表,其中"Cno"为主键...

Global site tag (gtag.js) - Google Analytics