最近测试项目,自己的本机搭建环境总是删除表,用java写了一个实现 package oracle; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; /** * @author * * 下午9:33:27 * 删除Mysql/oracle表中的所有表 */ public class OracleTableDel { public static void main(String[] args) throws SQLException { dropTable("root", "123456", "jdbc:mysql://192.168.2.101", "foo");//删除mysql dropTable("eos", "123456", "jdbc:oracle:thin:@192.168.2.111:1521:orcl", null); } /** * 删除表 如果databaseName 为null则为oracle 否则为mysql * @param username * @param password * @param url * @param databaseName */ public static void dropTable(String username, String password, String url, String databaseName) { Connection conn = null; if(url.contains("oracle")) { //conn = getConnection("eos", "123456", "jdbc:oracle:thin:@192.168.2.111:1521:orcl", null); conn = getConnection(username, password, url, null); } else if(url.contains("mysql")) { // conn = getConnection("fan", "123456", "jdbc:mysql://192.168.2.101", "foo"); conn = getConnection(username, password, url, databaseName); } if(conn != null) { List<String> tableList = getTableName(conn); try { Statement stat = conn.createStatement(); String sql; for(String name : tableList) { if(url.contains("oracle")) { sql = " drop table " + name + " cascade constraints";//级联删除表 stat.execute(sql); } else if(url.contains("mysql")) { sql = " drop table " + name ; stat.execute(sql); } } conn.commit(); } catch (SQLException e) { e.printStackTrace(); } } } /** * 查询所有的表名 * @param conn * @return */ public static List<String> getTableName(Connection conn) { List<String> nameList = new ArrayList<String>(); try { String catalog = conn.getCatalog(); Statement stat = conn.createStatement(); String sql; /** * catalog 不为空则是 mysql 否则为oracle */ if(catalog != null) { sql = "select table_name from information_schema.tables where table_schema='" + catalog + "'"; } else { sql = "select table_name from user_tables "; } ResultSet rs = stat.executeQuery(sql); while(rs.next()) { nameList.add(rs.getString(1)); } } catch (SQLException e) { e.printStackTrace(); } return nameList; } /** * 获取数据库连接 * @param username * @param psword * @param url * @param databaseName * @return */ public static Connection getConnection(String username, String psword, String url, String databaseName) { Connection con = null;// 创建一个数据库连接 try { if(url.contains("oracle")) { Class.forName("oracle.jdbc.driver.OracleDriver");// 加载Oracle驱动程序 con = DriverManager.getConnection(url , username, psword);// 获取连接 } else if(url.contains("mysql")) { Class.forName("com.mysql.jdbc.Driver");// 动态加载mysql驱动 con = DriverManager.getConnection(url + "/" + databaseName + "?user=" + username + "&password=" + psword + "&useUnicode=true&characterEncoding=UTF8");// 获取连接 } System.out.println("连接成功!"); } catch (Exception e) { e.printStackTrace(); } return con; } }
如果有更好的方法请分享。
相关推荐
使用这些驱动包,开发者可以编写Java应用程序来执行常见的数据库操作,如创建表、插入数据、查询记录、更新和删除数据等。同时,JDBC还支持预编译的SQL语句(PreparedStatement)以提高性能,以及事务处理和异常处理...
总结来说,本压缩包中的`mysql-connector-java-5.1.19-bin.jar`和`classes12.jar`是针对MySQL和Oracle数据库的JDBC驱动,它们使得Java开发者能使用标准的JDBC API与这两个数据库系统进行交互。在现代开发环境中,...
数据库驱动大全这个资源包含了SQL Server、Oracle以及MySQL等主流数据库系统的ODBC(Open Database Connectivity)驱动程序。ODBC是微软提出的一种标准接口,允许应用程序通过统一的方式与各种不同类型的数据库进行...
在Java开发中,连接SQL Server、Oracle、MySQL等常见数据库的方法主要有两种:JDBC-ODBC桥接和JDBC直连。这两种方式都是通过Java的JDBC(Java Database Connectivity)API来实现的,允许Java应用程序与各种数据库...
"SQL/Oracle/MySQL Driver整合"这个主题涉及到如何在不同环境中使用相应的数据库驱动,以便应用程序可以与这些数据库进行通信。本文将详细介绍这三种数据库的驱动(Driver)以及它们的整合过程。 1. **SQL**:SQL...
但是,可以通过中间层服务,如ODBC(Open Database Connectivity)或JDBC(Java Database Connectivity)建立连接,使MySQL能够“看到”Oracle中的数据。这样,我们就可以在MySQL中创建一个视图,这个视图实际上是对...
这里提到的"Oracle/Mysql/Mongo/Sqlserver数据库驱动集合"是一个包含这四种数据库的驱动程序的压缩包,主要用于Java开发环境中与这些数据库进行连接。 首先,Oracle数据库是甲骨文公司提供的企业级关系型数据库,...
标题提到的"mysql&&oracle 依赖jar包"是指用于连接MySQL和Oracle数据库的Java驱动程序,这些驱动程序通常以JAR(Java Archive)文件的形式存在。JDBC(Java Database Connectivity)是Java平台的标准API,它允许Java...
总的来说,MySQL Connector/J 8.0.15.jar 是 Java 开发人员连接到 MySQL 8.0 数据库的重要工具,它提供了全面的 JDBC 支持,让开发人员能够轻松地执行各种数据库操作,包括数据查询、插入、更新和删除。通过合理地...
以上内容涵盖了Java、Oracle与MySQL数据库配置的基本概念和技术要点,包括不同类型的数据库驱动配置、表的创建与修改、数据操作以及Oracle数据库管理和MySQL的基本操作等。这些知识点对于初学者来说是非常重要的基础...
本项目是基于Java Swing、MySQL(或Oracle)数据库技术实现的飞机订票系统,它涵盖了软件工程中的多个重要知识点,包括前端用户界面设计、后端数据处理以及数据库管理。以下是对这些关键技术点的详细说明: 1. **...
本压缩包包含了三个主流数据库的JDBC驱动包,分别是针对MySQL、Oracle和SQL Server,这些驱动包使得Java程序能够与这三种数据库系统进行无缝通信。 1. MySQL JDBC驱动:`mysql-connector-java-5.1.20.jar` 是MySQL...
在这个压缩包中包含的两个文件,`mysql-connector-java-5.1.18.jar` 和 `ojdbc14-10.2.0.2.0.jar`,分别对应于MySQL和Oracle数据库的JDBC连接器。 1. **MySQL Connector/J**: `mysql-connector-java-5.1.18.jar` 是...
本文将深入探讨如何使用Java编程语言与这两个数据库进行连接,重点介绍标题和描述中提及的jar包——ojdbc6.jar(Oracle数据库的驱动)和mysql-connector-java-5.1.7-bin.jar(MySQL数据库的驱动)。 首先,让我们...
- **重要表数据总条数验证**:对比MySQL与Oracle数据库中重要表的数据条数,确认是否完全一致。 - **乱码验证**:检查Oracle数据库中是否存在乱码问题,特别是针对中文或其他非英文字符。 综上所述,MySQL到...
Java是一种广泛使用的编程语言,尤其在企业级应用中,它提供了强大的数据处理能力。Java Database Connectivity(JDBC...这样,你就可以轻松地利用Java的JDBC功能连接到Oracle和MySQL数据库,进行数据的增删改查操作。
总的来说,这个JAVA工具类提供了对MySQL和Oracle数据库的备份和导入功能,通过集成常见的数据库备份工具,简化了开发人员的工作流程。在实际使用时,需要根据具体环境配置相关参数,并注意处理可能出现的各种异常...
MySQL Connector/J 充当了 JDBC 驱动的角色,使得 Java 应用能够连接到 MySQL 数据库,执行查询、插入、更新和删除等操作。 MySQL Connector/J 5.1.23 的主要特性包括: 1. **全面支持 JDBC 4.0 规范**:该版本的...
Java MySQL Connector 5.1.37 是一个关键的组件,它允许Java应用程序与MySQL数据库进行通信。这个rar压缩包包含了一个重要的Java驱动程序,即`mysql-connector-java-5.1.37.jar`,它是Java应用程序连接到MySQL服务器...