/**
* 引入明细信息
* 访问资源: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还支持多种特性,如预编译的`PreparedStatement`,事务处理,以及批处理等,提高了性能和安全性。对于大数据应用来说,Hive JDBC是一个强大而灵活的工具,能够帮助开发者轻松地将Hadoop集群的数据整合到...
GBase JDBC驱动还支持事务处理、批处理、预编译语句(PreparedStatement)、结果集游标等高级功能,以提高性能和安全性。 **5. 注意事项** - 确保GBase数据库服务器已启动并允许远程连接。 - 检查防火墙设置,确保...
总的来说,"mysql-connector-java-5.1.48"是Java与MySQL数据库间通信的关键桥梁,它提供了在Java应用中执行SQL查询、管理数据、处理事务等功能。在开发过程中,正确配置和使用这个驱动包,能够帮助开发者高效地与...
- 事务管理:JDBC支持事务处理,可控制数据的一致性。 7. 性能优化: - 使用PreparedStatement预编译SQL语句,可以提高执行效率。 - 适当使用批处理(Batch Processing)提交多条SQL语句,减少网络通信次数。 -...
`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官方提供的一个特定版本(5.1.35)的JDBC驱动包,它允许Java开发者通过编写Java代码与MySQL数据库进行交互,执行SQL语句,实现数据的增删改查等操作。 JDBC驱动主要分为四种...
MySQL Connector/J遵循JDBC接口标准,使得Java开发者能够方便地访问MySQL数据库,执行SQL查询、事务处理等操作。 1. **安装与配置**: - 解压`mysql-connector-java-5.1.40.tar`文件,通常会得到一个jar包,例如`...
### JDBC事务控制详解 在数据库应用开发中,事务管理是一项重要的功能,它确保了一系列操作能够作为一个整体被正确地执行或回滚。Java Database Connectivity (JDBC) 是 Java 平台中用于连接数据库的标准 API,提供...
这个驱动程序使得Java应用程序能够与MySQL数据库进行交互,执行SQL查询、事务处理等操作。JDBC(Java Database Connectivity)是Java平台中的一种标准API,它允许Java程序通过编写Java代码来访问各种类型的数据库。...
DBF文件是dBase系列数据库管理系统中使用的一种文件...总的来说,`dbf-jdbc-wisecoders`为Java开发者提供了一个高效、易用的接口,用于处理DBF文件,从而在处理历史数据或者与旧系统交互时,减轻了开发工作的复杂性。
总之,ojdbc14、sqljdbc4-2.0和mysql-connector-java-5.1.41是Java应用程序(如Kettle)与Oracle、SQL Server和MySQL数据库进行交互的基础,它们在数据集成、数据分析等场景中扮演着关键角色。在使用过程中,务必...
这个“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...
在本案例中,我们关注的是针对MySQL数据库的JDBC驱动——`mysql-connector-java-5.1.7`,这个驱动使得Java程序能够无缝地与MySQL 5.1.7版本的数据库进行通信。 1. **JDBC驱动的作用** JDBC驱动是Java程序与数据库...
这可以通过将`mysql-connector-java-8.0.20.jar`文件复制到项目类路径下的lib目录,或者在Maven或Gradle构建工具中声明依赖来实现。 在Java代码中,你可以通过以下步骤建立与MySQL数据库的连接: 1. 引入JDBC驱动...
GBase JDBC驱动提供了强大的功能,包括事务处理、批处理、游标操作等,使得Java开发者能高效地进行数据库操作。在实际应用中,还应注意性能优化,如使用预编译的`PreparedStatement`来防止SQL注入,以及合理设置连接...
最新版的JDBC驱动程序,即mysql-connector-java-8.0.16,是MySQL官方提供的用于连接Java应用程序到MySQL数据库的工具。这个版本的驱动程序支持最新的MySQL特性,并且在性能和稳定性上都有所提升。 在Java中,使用...
它允许Java应用程序通过JDBC API与MySQL数据库进行通信,执行SQL查询、事务处理、数据插入、更新和删除等操作。MySQL Connector/J实现了JDBC接口,使得Java开发者可以使用标准的JDBC API来操作MySQL数据库,无需了解...
在使用 mysql-connector-java-5.1.46 时,开发者首先需要将其添加到项目依赖中,通常是通过 Maven 或 Gradle 这样的构建工具。对于 Maven 用户,可以在 pom.xml 文件中添加如下依赖: ```xml <groupId>mysql ...
总结来说,"mysql-connector-java-5.1.37-jar"是连接Java应用与MySQL数据库的关键组件,提供了高效、可靠的JDBC接口。通过合理使用和配置,开发人员可以在各种Java项目中充分利用MySQL的强大功能。