package com.alipay.zdal.test.common; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import junit.framework.Assert; public class ZdalTestCommon { /** * mysql��ȡconnection * @param url * @param psd * @param user * @return * @throws SQLException * @throws java.lang.ClassNotFoundException */ public static Connection getConnectionFromMysql(String url, String psd, String user) throws SQLException, java.lang.ClassNotFoundException { Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection(url, user, psd); return con; } /** * oracle��ȡconnection * @param url * @param psd * @param user * @return * @throws ClassNotFoundException * @throws SQLException */ public static Connection getConnectionFromOracle(String url, String psd, String user) throws ClassNotFoundException, SQLException { Class.forName("oracle.jdbc.driver.OracleDriver"); Connection con = DriverManager.getConnection(url, user, psd); return con; } /** * ͨ��mysql jdbc���ӻ�ȡ���� * @param querySqlJDBC * @param url * @param psd * @param user * @return */ public static ResultSet dataCheckFromJDBC(String querySqlJDBC, String url, String psd, String user) { ResultSet result = null; try { Connection jdbcCon; jdbcCon = getConnectionFromMysql(url, psd, user); PreparedStatement stateNormal = jdbcCon .prepareStatement(querySqlJDBC); result = stateNormal.executeQuery(); } catch (Exception e) { e.printStackTrace(); // Assert.fail("��jdbc��ѯʧ��"); } return result; } /** * ͨ��mysql jdbc�����޸�ɾ������ * @param updateSqlJDBC * @param url * @param psd * @param user * @return */ public static int dataUpdateJDBC(String updateSqlJDBC, String url, String psd, String user) { int rNumber = 0; try { Connection jdbcCon; jdbcCon = getConnectionFromMysql(url, psd, user); // ���������Ĵ��� PreparedStatement stateNormal = jdbcCon .prepareStatement(updateSqlJDBC); rNumber = stateNormal.executeUpdate(); } catch (Exception e) { e.printStackTrace(); // Assert.fail("��jdbc����ʧ��"); } return rNumber; } /** * ͨ��oracle jdbc���ӻ�ȡ���� * @param querySqlJDBC * @param url * @param psd * @param user * @return */ public static ResultSet dataCheckFromJDBCOracle(String querySqlJDBC, String url, String psd, String user) { ResultSet result = null; try { Connection jdbcCon; jdbcCon = getConnectionFromOracle(url, psd, user); Statement stmt = jdbcCon.createStatement(); result = stmt.executeQuery(querySqlJDBC); } catch (Exception e) { e.printStackTrace(); // Assert.fail("��jdbc��ѯʧ��"); } return result; } /** * ͨ��oracle jdbc�����޸�ɾ������ * @param updateSqlJDBC * @param url * @param psd * @param user * @return */ public static int dataUpdateJDBCOracle(String updateSqlJDBC, String url, String psd, String user) { int rNumber = 0; try { Connection jdbcCon; jdbcCon = getConnectionFromOracle(url, psd, user); // ���������Ĵ��� PreparedStatement stateNormal = jdbcCon .prepareStatement(updateSqlJDBC); rNumber = stateNormal.executeUpdate(); } catch (Exception e) { e.printStackTrace(); // Assert.fail("��jdbc����ʧ��"); } return rNumber; } /** * jdbc��ѯoracle ��dual�� * @param url * @param queryNextSql * @param queryCurrSql * @param psd * @param user * @return */ public static ResultSet dualCheckJDBC(String url, String queryNextSql, String queryCurrSql, String psd, String user) { ResultSet result = null; try { Connection jdbcCon; jdbcCon = getConnectionFromOracle(url, psd, user); // ִ��sequence.nextval��ѯ PreparedStatement stateNormal = jdbcCon .prepareStatement(queryNextSql); stateNormal.executeQuery(); // ִ��sequence.currval��ѯ PreparedStatement stateNormal0 = jdbcCon .prepareStatement(queryCurrSql); result = stateNormal0.executeQuery(); } catch (Exception e) { Assert.fail("��jdbc��ѯʧ��"); } return result; // logger.warn(result); } /** * Ϊmysql ��zds������׼������ */ public static void dataPrepareForZds() { String url1 = ConstantsTest.mysql12UrlZds1; String url2 = ConstantsTest.mysql12UrlZds2; String psd = ConstantsTest.mysq112Psd; String user = ConstantsTest.mysq112User; String insertSql1 = "insert into test1(clum,colu2) values (100,'DB_A')"; String insertSql2 = "insert into test1(clum,colu2) values (100,'DB_B')"; dataUpdateJDBC(insertSql1, url1, psd, user); dataUpdateJDBC(insertSql2, url2, psd, user); } /** * Ϊmysql��zds������ɾ������ */ public static void dataDeleteForZds(){ String url1 = ConstantsTest.mysql12UrlZds1; String url2 = ConstantsTest.mysql12UrlZds2; String psd = ConstantsTest.mysq112Psd; String user = ConstantsTest.mysq112User; String delSql1="delete from test1"; dataUpdateJDBC(delSql1, url1, psd, user); dataUpdateJDBC(delSql1, url2, psd, user); } /** * Ϊmysql��fail_0׼������ */ public static void dataPrepareForFail0(){ String insertSqlJDBC = "insert into master_0 (user_id,age,name,content) values (20,10,'a','s')"; String url=ConstantsTest.mysq112UrlFail0; String user=ConstantsTest.mysq112User; String psd=ConstantsTest.mysq112Psd ; dataUpdateJDBC(insertSqlJDBC, url, psd, user); } /** * Ϊmysql��Tddl0,tddl_1,tddl_2׼������ */ public static void dataPrepareForTddl(){ String insertSqlJDBC0 ="insert into users(name,address) values ('DB','DB_A')"; String insertSqlJDBC1 ="insert into users(name,address) values ('DB','DB_B')"; String insertSqlJDBC2 ="insert into users(name,address) values ('DB','DB_C')"; String url0=ConstantsTest.mysq112UrlTddl0; String url1=ConstantsTest.mysq112UrlTddl1; String url2=ConstantsTest.mysq112UrlTddl2; String user=ConstantsTest.mysq112User; String psd=ConstantsTest.mysq112Psd; dataUpdateJDBC(insertSqlJDBC0, url0, psd, user); dataUpdateJDBC(insertSqlJDBC1, url1, psd, user); dataUpdateJDBC(insertSqlJDBC2, url2, psd, user); } /** * Ϊmysql��tddl_0,tddl_1,tddl_2ɾ������ */ public static void dataDeleteForTddl(){ String delSql="delete from users"; String url0=ConstantsTest.mysq112UrlTddl0; String url1=ConstantsTest.mysq112UrlTddl1; String url2=ConstantsTest.mysq112UrlTddl2; String user=ConstantsTest.mysq112User; String psd=ConstantsTest.mysq112Psd; dataUpdateJDBC(delSql, url0, psd, user); dataUpdateJDBC(delSql, url1, psd, user); dataUpdateJDBC(delSql, url2, psd, user); } }