在工作中碰到要向另一个数据库进行操作的需求,例如数据源为mysql的工程某个方法内需要向oracle数据库进行某些查询操作

接口类

package com.y.erp.pur.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.ParseException;
import java.text.SimpleDateFormat; import com.y.erp.pur.entity.PqhFile;
import com.y.erp.sal.entity.PhxpFile;
import com.y.erp.yBase.entity.ItemFile; public class OraclePqpUtil {
public static SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd");
public static Connection getConnection(){
Connection connection=null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@10.0.20.21:1521:TOPDB";
String username="t41";
String password="t41";
connection=DriverManager.getConnection(url, username, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return connection;
}
//插入
public static String insertPmr(PqhFile pqhFile,String bnun,String id) throws SQLException{
//拼接sql
String pqhsql=pqhSql(pqhFile,id);
Connection con = getConnection();
//注明手动提交事务
con.setAutoCommit(false);
Statement stmt = con.createStatement();
StringBuffer sql=null;
sql=new StringBuffer();
sql.append("insert into ");
sql.append(bnun+".PMR_FILE ");
sql.append(pqhsql);
try {
stmt.executeUpdate(sql.toString());
} catch (Exception e) {
con.rollback();
if (stmt != null) {
stmt.close();
}
if (con != null) {
con.close();
}
return null;
}
con.commit();
if (stmt != null) {
stmt.close();
}
if (con != null) {
con.close();
}
return id;
} //主表插入sql
public static String pqhSql(PqhFile pqhFile,String id) {
StringBuffer values=new StringBuffer();
StringBuffer rowSql=new StringBuffer();
StringBuffer allSql=new StringBuffer();
allSql.append("(");
if(null!=pqhFile.getPqh01()) {
rowSql.append("pmr01,");
values.append("'"+id+"',");
}
if(null!=pqhFile.getPqh02()) {
rowSql.append("pmr02,");
values.append("'"+pqhFile.getPqh02()+"',");
}
if(null!=pqhFile.getPqh03()) {
rowSql.append("pmr03,");
values.append("'"+pqhFile.getPqh03()+"',");
}
if(null!=pqhFile.getPqh04()) {
rowSql.append("pmr04,");
values.append("'"+pqhFile.getPqh04()+"',");
}
if(null!=pqhFile.getPqh05()) {
rowSql.append("pmr05,");
values.append("'"+pqhFile.getPqh05()+"',");
}
if(null!=pqhFile.getPqh05t()) {
rowSql.append("pmr05t,");
values.append("'"+pqhFile.getPqh05t()+"',");
}
allSql.append(rowSql.toString().substring(0,rowSql.toString().length()-1));
allSql.append(") VALUES (");
allSql.append(values.toString().substring(0,values.toString().length()-1));
allSql.append(")");
return allSql.toString();
}
//查询
public static ItemFile getItemTt(PhxpFile phxp,String bnun) throws SQLException, ParseException {
String querySql="SELECT * FROM "+bnun+".IMA_FILE where IMA01 = '" +phxp.getPhxp14()+"'";
Connection con = getConnection();
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(querySql);
ItemFile item =new ItemFile();
while (rs.next()) {
item.setItem01(rs.getString("IMA01"));
item.setItem02(rs.getString("IMA02"));
item.setItem03(rs.getString("IMA03"));
item.setItem04(rs.getString("IMA04"));
item.setItem05(rs.getString("IMA05"));
}
if (stmt != null) {
stmt.close();
}
if (con != null) {
con.close();
}
return item;
} }

pom.xml

<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.1.0.7.0</version>
</dependency>

JDBC使用的更多相关文章

  1. Java数据库连接技术——JDBC

    大家好,今天我们学习了Java如何连接数据库.之前学过.net语言的数据库操作,感觉就是一通百通,大同小异. JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力. JDBC API ...

  2. 玩转spring boot——结合AngularJs和JDBC

    参考官方例子:http://spring.io/guides/gs/relational-data-access/ 一.项目准备 在建立mysql数据库后新建表“t_order” ; -- ----- ...

  3. [原创]java使用JDBC向MySQL数据库批次插入10W条数据测试效率

    使用JDBC连接MySQL数据库进行数据插入的时候,特别是大批量数据连续插入(100000),如何提高效率呢?在JDBC编程接口中Statement 有两个方法特别值得注意:通过使用addBatch( ...

  4. JDBC MySQL 多表关联查询查询

    public static void main(String[] args) throws Exception{ Class.forName("com.mysql.jdbc.Driver&q ...

  5. JDBC增加删除修改

    一.配置程序--让我们程序能找到数据库的驱动jar包 1.把.jar文件复制到项目中去,整合的时候方便. 2.在eclipse项目右击"构建路径"--"配置构建路径&qu ...

  6. JDBC简介

    jdbc连接数据库的四个对象 DriverManager  驱动类   DriverManager.registerDriver(new com.mysql.jdbc.Driver());不建议使用 ...

  7. JDBC Tutorials: Commit or Rollback transaction in finally block

    http://skeletoncoder.blogspot.com/2006/10/jdbc-tutorials-commit-or-rollback.html JDBC Tutorials: Com ...

  8. FineReport如何用JDBC连接阿里云ADS数据库

    在使用FineReport连接阿里云的ADS(AnalyticDB)数据库,很多时候在测试连接时就失败了.此时,该如何连接ADS数据库呢? 我们只需要手动将连接ads数据库需要使用到的jar放置到%F ...

  9. JDBC基础

    今天看了看JDBC(Java DataBase Connectivity)总结一下 关于JDBC 加载JDBC驱动 建立数据库连接 创建一个Statement或者PreparedStatement 获 ...

  10. Spring学习记录(十四)---JDBC基本操作

    先看一些定义: 在Spring JDBC模块中,所有的类可以被分到四个单独的包:1.core即核心包,它包含了JDBC的核心功能.此包内有很多重要的类,包括:JdbcTemplate类.SimpleJ ...

随机推荐

  1. sql中非存储过程定义参数并使用

    DECLARE @dt datetime SET @dt=GETDATE()--1.短日期格式:yyyy-m-d SELECT REPLACE(CONVERT(varchar(10),@dt,120) ...

  2. Oracle - 为子查询提供动态结果集

    曾经遇到过这样一个需求:要求为method传入String,内容如"用户ID0,用户ID1,用户ID2...",然后根据这些ID返回一个结果集作为数据表供别人查询. SELECT ...

  3. 【转】SQL语句统计每天、每月、每年的数据

    原文:https://www.cnblogs.com/Fooo/p/3435687.html SQL语句统计每天.每月.每年的数据 1.每年select year(ordertime) 年,sum(T ...

  4. Yii 之components

    当我们创建一个module的时候,对应的path alias就已经创建.比如我们定义了一个module: www 1 2 3 4 5 'modules'=>array(     'www'=&g ...

  5. opencv3.2.0图像处理之均值滤波blur API函数

    ##.均值滤波:blur函数 ##函数原型 : ,-),int borderType=BORDER_DEFAULT) (参数详解同boxFilter函数) /**********新建Qt控制台程序** ...

  6. Ubuntu下编译opencv 和Ubuntu使用ffmpeg实现音频、视频的抽取

    一.使用Ubuntu编译opencv (前提是Ubuntu内已经正确配置了opencv,个人采用opencv3.2) g++ 1.cpp -o 1 `pkg-config --cflags --lib ...

  7. ArcGIS Server集群布署

    ArcGIS Server集群布署 准备如下的4台机器: 计算机名 IP 布署软件 说明 VMWIN2008ENSS1 192.168.1.111 ArcGIS for Server   VMWIN2 ...

  8. C语言各类型大小,结构体大小 sizeof(struct A)

    C语言类型大小总览 编译器pack指令 #pragma pack(n)——定义n字节对齐 C++固有类型的对齐取编译器对齐与自身大小中较小的一个 32位C++默认8字节对齐.gcc编译器默认4字节对齐 ...

  9. mvp 在 flutter 中的应用

    在 Android 应用程序开发过程中,我们经常会用到一些所谓的架构方法,如:mvp,mvvm,clean等.之所以这些方法会被推崇是因为他们可以大大的解耦我们的代码的功能模块,让我们的代码在项目中后 ...

  10. .hiverc

    使用hive cli的时候,会读取.hiverc脚本,在.hiverc脚本里可以做一些自己的预设. 比如: set hive.cli.print.current.db=true; set hive.c ...