JDBC使用
在工作中碰到要向另一个数据库进行操作的需求,例如数据源为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使用的更多相关文章
- Java数据库连接技术——JDBC
大家好,今天我们学习了Java如何连接数据库.之前学过.net语言的数据库操作,感觉就是一通百通,大同小异. JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力. JDBC API ...
- 玩转spring boot——结合AngularJs和JDBC
参考官方例子:http://spring.io/guides/gs/relational-data-access/ 一.项目准备 在建立mysql数据库后新建表“t_order” ; -- ----- ...
- [原创]java使用JDBC向MySQL数据库批次插入10W条数据测试效率
使用JDBC连接MySQL数据库进行数据插入的时候,特别是大批量数据连续插入(100000),如何提高效率呢?在JDBC编程接口中Statement 有两个方法特别值得注意:通过使用addBatch( ...
- JDBC MySQL 多表关联查询查询
public static void main(String[] args) throws Exception{ Class.forName("com.mysql.jdbc.Driver&q ...
- JDBC增加删除修改
一.配置程序--让我们程序能找到数据库的驱动jar包 1.把.jar文件复制到项目中去,整合的时候方便. 2.在eclipse项目右击"构建路径"--"配置构建路径&qu ...
- JDBC简介
jdbc连接数据库的四个对象 DriverManager 驱动类 DriverManager.registerDriver(new com.mysql.jdbc.Driver());不建议使用 ...
- JDBC Tutorials: Commit or Rollback transaction in finally block
http://skeletoncoder.blogspot.com/2006/10/jdbc-tutorials-commit-or-rollback.html JDBC Tutorials: Com ...
- FineReport如何用JDBC连接阿里云ADS数据库
在使用FineReport连接阿里云的ADS(AnalyticDB)数据库,很多时候在测试连接时就失败了.此时,该如何连接ADS数据库呢? 我们只需要手动将连接ads数据库需要使用到的jar放置到%F ...
- JDBC基础
今天看了看JDBC(Java DataBase Connectivity)总结一下 关于JDBC 加载JDBC驱动 建立数据库连接 创建一个Statement或者PreparedStatement 获 ...
- Spring学习记录(十四)---JDBC基本操作
先看一些定义: 在Spring JDBC模块中,所有的类可以被分到四个单独的包:1.core即核心包,它包含了JDBC的核心功能.此包内有很多重要的类,包括:JdbcTemplate类.SimpleJ ...
随机推荐
- CSS3 颜色属性
关键字颜色 red 十六进制颜色 #FF0000 RGB颜色 rgb(255,0,0) 新增的颜色表示方法 RGBa: RGB代表光的三原色,Red.Green和Blue CSS3中可以增加一个值 ...
- WPF绑定之索引器值变化通知
背景 在某些应用中,需要在界面上绑定到索引器,并在值发生变化时实时更新. 解决方案 只要将包含索引器的类实现INotifyPropertyChanged接口,并在索引值更改时引发PropertyCha ...
- Java注解(二)
前面了解了注解的基本内容,这次来看一下自定义注解. 自定义注解其实很简单,直接上代码: import java.lang.annotation.Documented; import java.lang ...
- Glide填坑指南
一.前言:再优秀的开源库都有坑要填 手上的项目使用的图片加载框架是:Universal-Image-Loader+业务需要定制化的一些代码.Universal-Image-Loader 这个框架是一个 ...
- android chrome iframe设置src属性无法启动app
0x01 Android Intents with Chrome Android有一个很少人知道的特性可以通过web页面发送intent来启动apps.以前通过网页启动app是通过设置iframe的s ...
- HTML之列表
列表有三种类型: 有序列表:列表项使用数字来标记 无序列表:列表项使用粗体圆点(典型的小黑圆圈)进行标记. 自定义列表:自定义列表以 <dl> 标签开始.每个自定义列表项以 <dt& ...
- LNMP笔记:阿里云32位 CentOS 5.4 配置 LNMP环境
最近比较郁闷的是 WordPress大学 服务器故障,由于诸多原因没及时处理,导致10多天无法访问.倡萌也是刚接触服务器环境配置,维护的确力不从心,没办法排查出错误根源,所以只好重置系统盘,重新配置L ...
- html active属性
源代码 <div class="col-md-3"> <div class="list-group"> <a href=" ...
- opencv3.2.0形态学滤波之膨胀
//名称:膨胀 //日期:12月21日 //平台:QT5.7.1+opencv3.2.0 /* 膨胀(dilate)的含义: 膨胀就是求局部最大值的操作,就是将图像(或图像的一部分,A)与核 B 进行 ...
- TYPE_SCROLL_INSENSITIVE is not compatible with CONCUR_UPDATABLE
There are two options when setting ResultSet to be scrollable: TYPE_SCROLL_INSENSITIVE - The result ...