Java连接操作oracle数据库示意
2017-03-13 10:39
375 查看
代码包括数据库连接、断开,为了适应大量不同名表的查询,编写了通用的查询表查询逻辑。
package Test; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.Iterator; import java.util.List; public class DBTest{ public static String ConnectionString = null; public static String UserName = null; public static String PassWord = null; public static Connection Conn; public static Statement Stmt; //获取主表数据 private static List<String> getData(){ String tableName = "TestTable"; ResultSet result = null; ResultSetMetaData md=null; String mSql=new String(); mSql = "select * from "+tableName; if(OpenConnection()){ try { //执行sql语句 result = Stmt.executeQuery(mSql); //移动指针到数据库第一行 result.next(); //获取行数 md = result.getMetaData(); int colnum = md.getColumnCount(); for(int i=1;i<=colnum;i++){ dataList.add(result.getString(i)); } } catch (SQLException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } CloseConnection();//关闭链接 } return dataList; } /* 通用查表方法 queryStrs--查询条件字段名 queryVals--查询条件id串 tableNames--表名 returnStrs--查询得到字段名 */ private static List<List<String>> getSub(List<String>queryStrs,List<String> queryVals,List<String> tableNames,List<String> returnStrs){ List<List<String>> subResults = new ArrayList<List<String>>(); for(int i=0;i<queryStrs.size();i++){ List<String> subResult = new ArrayList<String>(); ResultSet result = null; String mSql=new String(); mSql = "select " +returnStrs.get(i)+ " from " +tableNames.get(i)+ " where " +queryStrs.get(i)+ " IN (" +queryVals.get(i)+ ")"; if(OpenConnection()){ try { result = Stmt.executeQuery(mSql); //迭代每一行 while(result.next()){ subResult.add(result.getString(returnStrs.get(i))); } } catch (SQLException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } CloseConnection();//关闭链接 } subResults.add(subResult); } return subResults; } //连接数据库 private static boolean OpenConnection(){ ClassString="oracle.jdbc.driver.OracleDriver"; ConnectionString="jdbc:oracle:thin:@localhost:1521:orcl"; UserName="test"; PassWord="root"; boolean mResult=true; try{ Class.forName(ClassString); if((UserName==null) && (PassWord==null)){ Conn= DriverManager.getConnection(ConnectionString); }else{ Conn= DriverManager.getConnection(ConnectionString,UserName,PassWord); } Stmt=Conn.createStatement(); mResult=true; } catch(Exception e){ System.out.println(e.toString()); mResult=false; } return (mResult); } //关闭数据库连接 public static void CloseConnection(){ try{ Stmt.close(); Conn.close(); } catch(Exception e){ System.out.println(e.toString()); } } }
相关文章推荐
- Java连接MySQL数据库和Oracle数据库并进行简单的SQL操作的一次尝试
- Java连接操作Oracle数据库代码详解
- JAVA-oracle数据库封装操作连接池
- JDBC--实现用java连接oracle数据库的操作(简单实用)
- java连接oracle数据库以及相关数据库操作
- 使用Mycat操作Oracle数据库(七) -- JAVA代码JDBC连接Mycat
- java连接oracle数据库源码
- 实例代码讲解Java连接Oracle数据库的各种方法
- 在JAVA中连接Oracle数据库
- 在JAVA中连接Oracle数据库(例子)
- JAVA连接ORACLE数据库
- java语言操作Oracle数据库中的CLOB数据类型
- Java连接oracle数据库实例
- 通过JDBC连接操作oracle数据库的十大技巧
- java连接oracle数据库的各种方法及java在数据库中的含义
- java连接oracle数据库的各种方法及java在数据库中的含义
- 【转】Java连接Oracle数据库的各种方法
- Java连接oracle数据库-------jdbc的thin方式
- java语言操作Oracle数据库中的CLOB数据类型
- java连接操作Oracle出现的问题及解决方法