在工作中碰到要向另一个数据库进行操作的需求,例如数据源为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. Java Swing实战(五)表格组件JTable(1)

    dbPanel面板的配置告一段落. 接下来配置taskPanel 面板. /** * @author: lishuai * @date: 2018/11/26 13:51 */ public clas ...

  2. java基础之运算符与语句

    一.运算符 1.算数运算符 运算符 名称 举例 + 加法 A等于10,B等于3 则A+B=13 - 减法 A等于10,B等于3 则A-B=7 * 乘法 A等于10,B等于3 则A*B=30 / 除法 ...

  3. fzu 2155 盟国

    Problem 2155 盟国 Accept: 39    Submit: 129Time Limit: 1000 mSec    Memory Limit : 32768 KB Problem De ...

  4. window平台安装node.js绿色版

    1. 下载Windows Binary版本的node.js文件 2. 把下载的ZIP压缩包解压到某个目录下(例如:D:\nodejs) 3. 此时的node.js只在刚刚解压的目录才起作用,需要配置环 ...

  5. centos 快速安装wordpress

    1.两种方式得到Wordpress 首先你可以去wordpress官方网站看下最新的wordpress的下载地址多少.比如wordpress 3.9.1的下载地址是: http://cn.wordpr ...

  6. Keras vs. PyTorch in Transfer Learning

    We perform image classification, one of the computer vision tasks deep learning shines at. As traini ...

  7. Vue项目中引用vue-resource步骤

    直接上步骤: 1.通过命令,进入到当前项目所在目录 2.输入以下命令npm install vue-resource --save 3.安装完毕后,在main.js中导入,如下: import Vue ...

  8. Android如何使用WebView访问https的网站

    Android中可以用WebView来访问http和https的网站,但是默认访问https网站时,假如证书不被Android承认,会出现空白页面,且不会有任何提示信息,这时我们必须加多一些配置. 此 ...

  9. 网络 Internet 的发展

    Internet源于美国军方,那时制定了TCP/IP协议. 互联网的典型应用有:www,FTP,E-mail. WWW:World Wide Web,简称Web,又称全球网.万维网等. 网页,c/s架 ...

  10. 创建完美SDK的10个技巧

    [编者按]本文作者为 Gal Lavinsky,文中将列出10个零基础小技巧,帮你创建完美的Java SDK.文章系国内 ITOM 管理平台 OneAPM 编译呈现.以下为正文. 本文起源于笔者朋友的 ...