`
zixiaolan
  • 浏览: 52301 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JDBC 事务处理 -java

阅读更多
/**
     * 引入明细信息
     * 访问资源:ECC_EPM.EPM_TBL_CONTRACT_DETAIL,ECC_EPM.EPM_TBL_SUBCONTRACT_DISPATCH
     * 
     * @param detailsBO
     * @return int
     * @roseuid 4BA1C4E103C5
     */
    public int inductDetailsInfo(DetailsBO detailsBO) throws EccInfoException
    {
        int result = -1;
        // JDBC兄弟
        PreparedStatement pstmt = null;
        Connection conn = BaseDAO.getConnection();
        try
        {
            //关闭事务自动提交
            conn.setAutoCommit(false);
            // 因采取直接查询之后插入的SQL有错误,现修改为,JDBC的批量提交方式
            StringBuffer sql = new StringBuffer();
            sql.append("INSERT INTO ECC_EPM.EPM_TBL_CONTRACT_DETAIL ");
            sql.append("(OID,CONTRACT_ID,ITEM_NAME,DATA_TYPE,ITEM_TYPE,DISCTRIPTION, ");
            sql.append("UNIT,NUM,PRICE,REMARK,ENABLE_FLAG,CONTRACT_ITEM_ID,DISPATCH_CONTRACT_ITEM_ID, ");
            sql.append("CREATED_BY,CREATED_DATE,LAST_UPDATED_BY,LAST_UPDATED_DATE) ");
            sql.append("VALUES (ECC_EPM.SUB_PERSONNEL_EVALUE_INFO_S.NEXTVAL, ");
            sql.append(" ?,?,?,?,?,?,?,?,?,'T',?,?,?,SYSDATE,?,SYSDATE)");
            pstmt = conn.prepareStatement(sql.toString());
            // 得到VO
            DetailsVO detailsVO = detailsBO.getDetailsVO();
            // 根据选择的OID,获取相关的信息
            List<DetailsVO> tempList = (List)this.getSqlMapClientTemplate().queryForList("DetailsDAO.queryInductDetails", detailsBO);
            // 如果结果列表不为空
            if(null != tempList && tempList.size() > 0)
            {
                DetailsVO tempVO = null;
                // 遍历列表,取出相关信息
                for(int i = 0,j = tempList.size(); i < j; i++)
                {
                    int k = 1;
                    // 从列表中取值
                    tempVO = tempList.get(i);
                    // 附值
                    pstmt.setLong(k++, detailsBO.getObjectOid());
                    pstmt.setString(k++, tempVO.getDetailName());
                    pstmt.setString(k++, detailsVO.getDataType());
                    pstmt.setString(k++, detailsVO.getItemType());
                    pstmt.setString(k++, tempVO.getDetailDesc());
                    pstmt.setString(k++, tempVO.getDetailUnit());
                    pstmt.setString(k++, tempVO.getDetailNum());
                    pstmt.setString(k++, tempVO.getDetailPrice());
                    pstmt.setString(k++, tempVO.getDetailRemark());
                    pstmt.setLong(k++, tempVO.getOid());
                    pstmt.setLong(k++, tempVO.getContractItemId());
                    pstmt.setLong(k++, detailsVO.getCreatedBy());
                    pstmt.setLong(k++, detailsVO.getLastUpdatedBy());
                    pstmt.addBatch();
                }
                // 批量执行
                pstmt.executeBatch();
            }
            //语句执行完毕,提交本事务
            conn.commit();
            // 引入条目明细
            //result = (Integer)this.getSqlMapClientTemplate().insert("DetailsDAO.inductDetails", detailsBO);
        }
        catch (Exception ex)
        {
            try
            {
                conn.rollback();
            }
            catch (SQLException e1)
            {
                Debug.error(e1.toString());
            }
            PmInfoException.throwPmInfoException(EccExceptionComm.ERROR_LAYER_DAO, getClass().getName(), ex);
        }  
        finally
        {
            BaseDAO.closeAll(null, pstmt, conn);
        }
        return result;
    }
分享到:
评论

相关推荐

    hive-jdbc-1.1.0-cdh5.12.1 连接库 jar包

    Hive JDBC还支持多种特性,如预编译的`PreparedStatement`,事务处理,以及批处理等,提高了性能和安全性。对于大数据应用来说,Hive JDBC是一个强大而灵活的工具,能够帮助开发者轻松地将Hadoop集群的数据整合到...

    gbase jdbc 驱动下载 gbase-connector-java

    GBase JDBC驱动还支持事务处理、批处理、预编译语句(PreparedStatement)、结果集游标等高级功能,以提高性能和安全性。 **5. 注意事项** - 确保GBase数据库服务器已启动并允许远程连接。 - 检查防火墙设置,确保...

    mysql java JDBC 导入资源包mysql-connector-java-5.1.48

    总的来说,"mysql-connector-java-5.1.48"是Java与MySQL数据库间通信的关键桥梁,它提供了在Java应用中执行SQL查询、管理数据、处理事务等功能。在开发过程中,正确配置和使用这个驱动包,能够帮助开发者高效地与...

    mysql-connector-java Linux下MySQL的JDBC驱动Jar包

    - 事务管理:JDBC支持事务处理,可控制数据的一致性。 7. 性能优化: - 使用PreparedStatement预编译SQL语句,可以提高执行效率。 - 适当使用批处理(Batch Processing)提交多条SQL语句,减少网络通信次数。 -...

    mysql-java-jdbc-8.0.16-jar

    `mysql-java-jdbc-8.0.16-jar`这个标题表明我们讨论的是MySQL Connector/J,它是MySQL官方提供的一个JDBC驱动程序,允许Java应用程序通过JDBC接口与MySQL数据库进行通信。 MySQL Connector/J 8.0.16是一个重要的...

    mysql-connector-java-5.1.35 MySQL的jdbc驱动jar

    `mysql-connector-java-5.1.35`是MySQL官方提供的一个特定版本(5.1.35)的JDBC驱动包,它允许Java开发者通过编写Java代码与MySQL数据库进行交互,执行SQL语句,实现数据的增删改查等操作。 JDBC驱动主要分为四种...

    mysql-connector-java-5.1.40.tar

    MySQL Connector/J遵循JDBC接口标准,使得Java开发者能够方便地访问MySQL数据库,执行SQL查询、事务处理等操作。 1. **安装与配置**: - 解压`mysql-connector-java-5.1.40.tar`文件,通常会得到一个jar包,例如`...

    JDBC事务控制--讲述如何控制JDBC事务

    ### JDBC事务控制详解 在数据库应用开发中,事务管理是一项重要的功能,它确保了一系列操作能够作为一个整体被正确地执行或回滚。Java Database Connectivity (JDBC) 是 Java 平台中用于连接数据库的标准 API,提供...

    jdbc-mysql-connector-j-8.0.31.jar jdbc-sqljdbc41.jar

    这个驱动程序使得Java应用程序能够与MySQL数据库进行交互,执行SQL查询、事务处理等操作。JDBC(Java Database Connectivity)是Java平台中的一种标准API,它允许Java程序通过编写Java代码来访问各种类型的数据库。...

    dbf-jdbc-wisecoders,JAVA 读写DBF文件工具包

    DBF文件是dBase系列数据库管理系统中使用的一种文件...总的来说,`dbf-jdbc-wisecoders`为Java开发者提供了一个高效、易用的接口,用于处理DBF文件,从而在处理历史数据或者与旧系统交互时,减轻了开发工作的复杂性。

    ojdbc14+sqljdbc4-2.0+mysql-connector-java-5.1.41

    总之,ojdbc14、sqljdbc4-2.0和mysql-connector-java-5.1.41是Java应用程序(如Kettle)与Oracle、SQL Server和MySQL数据库进行交互的基础,它们在数据集成、数据分析等场景中扮演着关键角色。在使用过程中,务必...

    jdbc大全(ojdbc-1.4.jar,mysql-jdbc-java-5.1.7.rar,sql2k-jdbc.rar

    这个“jdbc大全”包含了三个重要的JDBC驱动包:ojdbc-1.4.jar(Oracle JDBC驱动),mysql-jdbc-java-5.1.7.rar(MySQL JDBC驱动),以及sql2k-jdbc.rar(SQL Server 2000 JDBC驱动)。 **1. Oracle JDBC驱动 (ojdbc...

    【JDBC-DT-DB-SQL】mysql-connector-java-5.1.7

    在本案例中,我们关注的是针对MySQL数据库的JDBC驱动——`mysql-connector-java-5.1.7`,这个驱动使得Java程序能够无缝地与MySQL 5.1.7版本的数据库进行通信。 1. **JDBC驱动的作用** JDBC驱动是Java程序与数据库...

    mysql-connector-java-8.0.20.jar

    这可以通过将`mysql-connector-java-8.0.20.jar`文件复制到项目类路径下的lib目录,或者在Maven或Gradle构建工具中声明依赖来实现。 在Java代码中,你可以通过以下步骤建立与MySQL数据库的连接: 1. 引入JDBC驱动...

    gbase-jdbc-9.5.0.1-build1-bin.zip

    GBase JDBC驱动提供了强大的功能,包括事务处理、批处理、游标操作等,使得Java开发者能高效地进行数据库操作。在实际应用中,还应注意性能优化,如使用预编译的`PreparedStatement`来防止SQL注入,以及合理设置连接...

    最新版 JDBC,版本号为mysql-connector-java-8.0.16

    最新版的JDBC驱动程序,即mysql-connector-java-8.0.16,是MySQL官方提供的用于连接Java应用程序到MySQL数据库的工具。这个版本的驱动程序支持最新的MySQL特性,并且在性能和稳定性上都有所提升。 在Java中,使用...

    mysql-connector-java-8.0.17.jar.zip

    它允许Java应用程序通过JDBC API与MySQL数据库进行通信,执行SQL查询、事务处理、数据插入、更新和删除等操作。MySQL Connector/J实现了JDBC接口,使得Java开发者可以使用标准的JDBC API来操作MySQL数据库,无需了解...

    mysql-connector-java-5.1.46下载

    在使用 mysql-connector-java-5.1.46 时,开发者首先需要将其添加到项目依赖中,通常是通过 Maven 或 Gradle 这样的构建工具。对于 Maven 用户,可以在 pom.xml 文件中添加如下依赖: ```xml &lt;groupId&gt;mysql ...

    mysql-connector-java-5.1.37-jar

    总结来说,"mysql-connector-java-5.1.37-jar"是连接Java应用与MySQL数据库的关键组件,提供了高效、可靠的JDBC接口。通过合理使用和配置,开发人员可以在各种Java项目中充分利用MySQL的强大功能。

Global site tag (gtag.js) - Google Analytics